
%%% The following code has been produced by the CHR compiler


:- ( current_module(chr) -> true ; use_module(library(chr)) ).

:- get_flag(variable_names, Val), setval(variable_names_flag, Val), set_flag(variable_names, off).
:- setval(domain, term).
:- op(700, xfx, ::).
:- op(600, xfx, ..).
:- op(600, xfx, :).
:- op(700, xfx, lt).
:- op(700, xfx, le).
:- op(700, xfx, gt).
:- op(700, xfx, ge).
:- op(700, xfx, ne).
gt(_567, _568) :- lt(_568, _567).
ge(_585, _586) :- le(_586, _585).
ground(_2434) :- not nonground(_2434).
domain(_2450) :- getval(domain, _2450).
makedom([], _2528) :- true.
makedom([_2550|_2546], _2545) :- _2550 :: _2545, makedom(_2546, _2545).
interval(_2701, _2693, [_2701|_2692]) :- _2701 < _2693, !, _2694 is _2701 + 1, interval(_2694, _2693, _2692).
interval(_2724, _2724, [_2724]).
eval_list([], []).
eval_list([_2853|_2849], [_2854|_2848]) :- _2854 is _2853, eval_list(_2849, _2848).
last(_4839, _4842) :- append(_4836, [_4842], _4839), !.
minimum(_5345, _5338, _5337) :- (domain(number) -> _5345 < _5338 ; _5345 @< _5338) -> _5345 = _5337 ; _5338 = _5337.
maximum(_5381, _5388, _5380) :- (domain(number) -> _5381 < _5388 ; _5381 @< _5388) -> _5388 = _5380 ; _5381 = _5380.
element(_7318, _7323, _7317) :- length(_7323, _7329), interval(1, _7329, _7324), gen_pair(_7324, _7323, _7313), _7318 - _7317 :: _7313.
gen_pair([], [], []).
gen_pair([_7375|_7364], [_7374|_7363], [_7375 - _7374|_7362]) :- gen_pair(_7364, _7363, _7362).
intersect(_8351 :: _8350, _8346 :: _8345, _8352 :: _8338) :- findall(_8352, (member(_8351, _8350), member(_8346, _8345)), _8338).
atmost(_9581, _9580, _9579) :- length(_9580, _9578), atmost(_9581, _9580, _9579, _9578).
delete_ground(_9871, _9877, _9876) :- delete(_9871, _9877, _9876), ground(_9871), !.
outof(_10207, []).
outof(_10225, [_10229|_10224]) :- ne(_10225, _10229), outof(_10225, _10224).
circuit1(_10631) :- length(_10631, _10632), _10632 > 1, circuit1(_10632, _10631).
circuit1(2, [2, 1]).
circuit1(_10686, _10690) :- _10686 > 2, interval(1, _10686, _10695), _10685 =.. [f|_10690], domains1(1, _10695, _10690), alldistinct1([], _10690), no_subtours(_10686, 1, _10685, []).
domains1(_10723, _10722, []).
domains1(_10756, _10748, [_10761|_10747]) :- remove(_10756, _10748, _10760), _10761 :: _10760, _10749 is _10756 + 1, domains1(_10749, _10748, _10747).
no_subtours(0, _10789, _10788, _10787) :- !.
no_subtours(_10814, _10813, _10812, _10811) :- outof(_10813, _10811), (var(_10813) -> suspend(no_subtours1(_10814, _10813, _10812, _10811), 3, _10813 -> inst) ; no_subtours1(_10814, _10813, _10812, _10811)).
no_subtours1(_10881, _10867, _10868, _10866) :- _10881 > 0, _10870 is _10881 - 1, arg(_10867, _10868, _10869), no_subtours(_10870, _10869, _10868, [_10867|_10866]).
circuit(_10909) :- length(_10909, _10910), _10910 > 1, circuit(_10910, _10909).
circuit(2, [2, 1]).
circuit(_10976, _10960) :- _10976 > 2, interval(1, _10976, _10969), _10968 =.. [f|_10960], _10967 is _10976 - 1, domains(1, _10969, _10960, _10968, _10967), alldistinct(_10960).
domains(_11008, _11007, [], _11006, _11005).
domains(_11049, _11040, [_11050|_11039], _11038, _11037) :- remove(_11049, _11040, _11060), _11050 :: _11060, _11041 is _11049 + 1, no_subtours1(_11037, _11050, _11038, [_11049]), domains(_11041, _11040, _11039, _11038, _11037).
remove(_11098, _11090, _11089) :- delete(_11098, _11090, _11089) -> true ; _11090 = _11089.
remove_list(_11121, [], _11119) :- !, _11119 = [].
remove_list([], _11138, _11137) :- _11138 = _11137.
remove_list([_11171|_11162], [_11170|_11169], _11160) :- remove(_11171, [_11170|_11169], _11161), remove_list(_11162, _11161, _11160).
remove_lower(_11198, [], _11196) :- !, _11196 = [].
remove_lower(_11223, [_11227|_11222], _11221) :- _11227 @< _11223, !, remove_lower(_11223, _11222, _11221).
remove_lower(_11250, [_11257|_11249], [_11257|_11248]) :- remove_lower(_11250, _11249, _11248).
remove_higher(_11278, [], _11276) :- !, _11276 = [].
remove_higher(_11303, [_11307|_11302], _11301) :- _11307 @> _11303, !, remove_higher(_11303, _11302, _11301).
remove_higher(_11330, [_11337|_11329], [_11337|_11328]) :- remove_higher(_11330, _11329, _11328).



%%% Callables for :: / 2

'CHRlabel_with'(A :: [B|C], D, E) ?-
	coca(try_clause(E, A :: [B|C], F :: [G|H], true)),
	coca(clause_fired(E)),
	'CHR='(D, 'clause_::'(A, [B|C])).
'CHRlabel_with'(A :: B : C, D, E) ?-
	coca(try_clause(E, A :: B : C, F :: G : H, domain(number))),
	no_delayed_goals(domain(number)),
	coca(clause_fired(E)),
	'CHR='(D, 'clause_::'(A, B : C)).
lt(A, B) :-
	'CHRgen_num'(C),
	coca(add_one_constraint(C, lt(A, B))),
	'CHRlt_2'(lt(A, B), D, E, C).



%%% Rules handling for lt / 2

'CHRlt_2'(lt(A, B), C, D, E) :-
	(
	    'CHRnonvar'(C)
	;
	    'CHRalready_in'('CHRlt_2'(lt(A, B), C, D, E)),
	    coca(already_in)
	),
	!.
'CHRlt_2'(lt(A, A), B, C, D) ?-
	coca(try_rule(D, lt(A, A), anonymous("0"), lt(E, E), replacement, true, fail)),
	!,
	'CHRkill'(B),
	coca(fired_rule(anonymous("0"))),
	fail.
'CHRlt_2'(lt(A, B), C, D, E) ?-
	coca(try_rule(E, lt(A, B), anonymous("6"), lt(F, G), replacement, (domain(number), ground(F), not number(F)), (H is F, lt(H, G)))),
	no_delayed_goals((domain(number), ground(A), not number(A))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("6"))),
	I is A,
	lt(I, B).
'CHRlt_2'(lt(A, B), C, D, E) ?-
	coca(try_rule(E, lt(A, B), anonymous("7"), lt(F, G), replacement, (domain(number), ground(G), not number(G)), (H is G, lt(F, H)))),
	no_delayed_goals((domain(number), ground(B), not number(B))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("7"))),
	I is B,
	lt(A, I).
'CHRlt_2'(lt(A, B), C, D, E) ?-
	coca(try_rule(E, lt(A, B), anonymous("12"), lt(F, G), replacement, (ground(F), ground(G)), domain(number) -> F < G ; F @< G)),
	no_delayed_goals((ground(A), ground(B))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("12"))),
	(
	    domain(number)
	->
	    A < B
	;
	    A @< B
	).
'CHRlt_2'(lt(A, B), C, D, E) ?-
	'CHRget_delayed_goals'(B, F),
	'CHRlt_2__79'(F, [B, A], [], G),
	coca(try_double(E, lt(A, B), G, lt(B, A), lt(H, I), lt(I, H), replacement, true, fail, anonymous("3"))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("3"))),
	fail.
'CHRlt_2'(lt(A, B), C, D, E) ?-
	'CHRget_delayed_goals'(B, F),
	'CHRlt_2__80'(F, [B, A], [], G),
	coca(try_double(E, lt(A, B), G, lt(B, A), lt(H, I), lt(I, H), replacement, true, fail, anonymous("3"))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("3"))),
	fail.
'CHRlt_2'(lt(A, B), C, D, E) ?-
	'CHRget_delayed_goals'(B, F),
	'CHRlt_2__81'(F, [B], [G, H, I], J),
	coca(try_double(E, lt(A, B), J, B :: [I|H], lt(K, L), L :: [M|N], keep_second, ((ground(K), remove_lower(K, [M|N], O), remove(K, O, P)), 'CHRkeep_heads_checking'(L :: [M|N], Q, L :: P, R)), 'CHRhead_not_kept'(R) -> L :: P ; true, anonymous("27"))),
	no_delayed_goals(((ground(A), remove_lower(A, [I|H], S), remove(A, S, T)), 'CHRkeep_heads_checking'(B :: [I|H], G, B :: T, U))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("27"))),
	(
	    'CHRhead_not_kept'(U)
	->
	    B :: T
	;
	    true
	).
'CHRlt_2'(lt(A, B), C, D, E) ?-
	'CHRget_delayed_goals'(A, F),
	'CHRlt_2__82'(F, [A], [G, H, I], J),
	coca(try_double(E, lt(A, B), J, A :: [I|H], lt(K, L), K :: [M|N], keep_second, ((ground(L), remove_higher(L, [M|N], O), remove(L, O, P)), 'CHRkeep_heads_checking'(K :: [M|N], Q, K :: P, R)), 'CHRhead_not_kept'(R) -> K :: P ; true, anonymous("28"))),
	no_delayed_goals(((ground(B), remove_higher(B, [I|H], S), remove(B, S, T)), 'CHRkeep_heads_checking'(A :: [I|H], G, A :: T, U))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("28"))),
	(
	    'CHRhead_not_kept'(U)
	->
	    A :: T
	;
	    true
	).
'CHRlt_2'(lt(A, B), C, D, E) ?-
	'CHRget_delayed_goals'(B, F),
	'CHRlt_2__83'(F, [B], [G, H, I], J),
	coca(try_double(E, lt(A, B), J, B :: I : H, lt(K, L), L :: M : N, keep_second, ((ground(K), maximum(M, K, O)), 'CHRkeep_heads_checking'(L :: M : N, P, L :: O : N, Q)), (('CHRhead_not_kept'(Q) -> L :: O : N ; true), ne(L, O)), anonymous("43"))),
	no_delayed_goals(((ground(A), maximum(I, A, R)), 'CHRkeep_heads_checking'(B :: I : H, G, B :: R : H, S))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("43"))),
	(
	    'CHRhead_not_kept'(S)
	->
	    B :: R : H
	;
	    true
	),
	ne(B, R).
'CHRlt_2'(lt(A, B), C, D, E) ?-
	'CHRget_delayed_goals'(A, F),
	'CHRlt_2__84'(F, [A], [G, H, I], J),
	coca(try_double(E, lt(A, B), J, A :: I : H, lt(K, L), K :: M : N, keep_second, ((ground(L), minimum(N, L, O)), 'CHRkeep_heads_checking'(K :: M : N, P, K :: M : O, Q)), (('CHRhead_not_kept'(Q) -> K :: M : O ; true), ne(K, O)), anonymous("44"))),
	no_delayed_goals(((ground(B), minimum(H, B, R)), 'CHRkeep_heads_checking'(A :: I : H, G, A :: I : R, S))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("44"))),
	(
	    'CHRhead_not_kept'(S)
	->
	    A :: I : R
	;
	    true
	),
	ne(A, R).
'CHRlt_2'(lt(A, B), C, D, E) ?-
	'CHRget_delayed_goals'(B, F),
	'CHRlt_2__85'(F, [B, A], [G, H], I),
	coca(try_double(E, lt(A, B), I, B - A :: H, lt(J, K), K - J :: L, keep_second, ((M = N - O, findall(M, (member(M, L), N @< O), P)), 'CHRkeep_heads_checking'(K - J :: L, Q, K - J :: P, R)), 'CHRhead_not_kept'(R) -> K - J :: P ; true, anonymous("60"))),
	no_delayed_goals(((S = T - U, findall(S, (member(S, H), T @< U), V)), 'CHRkeep_heads_checking'(B - A :: H, G, B - A :: V, W))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("60"))),
	(
	    'CHRhead_not_kept'(W)
	->
	    B - A :: V
	;
	    true
	).
'CHRlt_2'(lt(A, B), C, D, E) ?-
	'CHRget_delayed_goals'(B, F),
	'CHRlt_2__86'(F, [B, A], [G, H], I),
	coca(try_double(E, lt(A, B), I, A - B :: H, lt(J, K), J - K :: L, keep_second, ((M = N - O, findall(M, (member(M, L), O @< N), P)), 'CHRkeep_heads_checking'(J - K :: L, Q, J - K :: P, R)), 'CHRhead_not_kept'(R) -> J - K :: P ; true, anonymous("61"))),
	no_delayed_goals(((S = T - U, findall(S, (member(S, H), U @< T), V)), 'CHRkeep_heads_checking'(A - B :: H, G, A - B :: V, W))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("61"))),
	(
	    'CHRhead_not_kept'(W)
	->
	    A - B :: V
	;
	    true
	).
'CHRlt_2'(lt(A, B), C, D, E) :-
	'CHRlt_2__78'(lt(A, B), C, D, E).
'CHRlt_2__79'(['CHRlt_2'(lt(A, B), C, D, E)|F], [A, B], [], G) ?-
	'CHRvar'(C),
	'CHRkill'(C),
	'CHR='([], []),
	'CHR='(E, G).
'CHRlt_2__79'([A|B], C, D, E) :-
	'CHRlt_2__79'(B, C, D, E).
:- set_flag('CHRlt_2__79' / 4, leash, notrace).
'CHRlt_2__80'(['CHRlt_2'(lt(A, B), C, D, E)|F], [A, B], [], G) ?-
	'CHRvar'(C),
	'CHRkill'(C),
	'CHR='([], []),
	'CHR='(E, G).
'CHRlt_2__80'([A|B], C, D, E) :-
	'CHRlt_2__80'(B, C, D, E).
:- set_flag('CHRlt_2__80' / 4, leash, notrace).
'CHRlt_2__81'(['CHR::_2'(A :: [B|C], D, E, F)|G], [A], [H, I, J], K) ?-
	'CHRvar'(D),
	'CHR='([D, C, B], [H, I, J]),
	'CHR='(F, K).
'CHRlt_2__81'([A|B], C, D, E) :-
	'CHRlt_2__81'(B, C, D, E).
:- set_flag('CHRlt_2__81' / 4, leash, notrace).
'CHRlt_2__82'(['CHR::_2'(A :: [B|C], D, E, F)|G], [A], [H, I, J], K) ?-
	'CHRvar'(D),
	'CHR='([D, C, B], [H, I, J]),
	'CHR='(F, K).
'CHRlt_2__82'([A|B], C, D, E) :-
	'CHRlt_2__82'(B, C, D, E).
:- set_flag('CHRlt_2__82' / 4, leash, notrace).
'CHRlt_2__83'(['CHR::_2'(A :: B : C, D, E, F)|G], [A], [H, I, J], K) ?-
	'CHRvar'(D),
	'CHR='([D, C, B], [H, I, J]),
	'CHR='(F, K).
'CHRlt_2__83'([A|B], C, D, E) :-
	'CHRlt_2__83'(B, C, D, E).
:- set_flag('CHRlt_2__83' / 4, leash, notrace).
'CHRlt_2__84'(['CHR::_2'(A :: B : C, D, E, F)|G], [A], [H, I, J], K) ?-
	'CHRvar'(D),
	'CHR='([D, C, B], [H, I, J]),
	'CHR='(F, K).
'CHRlt_2__84'([A|B], C, D, E) :-
	'CHRlt_2__84'(B, C, D, E).
:- set_flag('CHRlt_2__84' / 4, leash, notrace).
'CHRlt_2__85'(['CHR::_2'(A - B :: C, D, E, F)|G], [A, B], [H, I], J) ?-
	'CHRvar'(D),
	'CHR='([D, C], [H, I]),
	'CHR='(F, J).
'CHRlt_2__85'([A|B], C, D, E) :-
	'CHRlt_2__85'(B, C, D, E).
:- set_flag('CHRlt_2__85' / 4, leash, notrace).
'CHRlt_2__86'(['CHR::_2'(A - B :: C, D, E, F)|G], [B, A], [H, I], J) ?-
	'CHRvar'(D),
	'CHR='([D, C], [H, I]),
	'CHR='(F, J).
'CHRlt_2__86'([A|B], C, D, E) :-
	'CHRlt_2__86'(B, C, D, E).
:- set_flag('CHRlt_2__86' / 4, leash, notrace).
:- set_flag('CHRlt_2' / 4, leash, notrace).
:- current_macro('CHRlt_2' / 4, _17868, _17869, _17870) -> true ; define_macro('CHRlt_2' / 4, tr_chr / 2, [write]).
'CHRlt_2__78'(A, B, C, D) :-
	'CHRlt_2__87'(A, B, C, D).
:- set_flag('CHRlt_2__78' / 4, leash, notrace).
'CHRlt_2__87'(lt(A, B), C, D, E) ?-
	'CHRvar'(C),
	!,
	'CHRget_delayed_goals'(B, F),
	'CHRlt_2__87__88'(F, C, lt(A, B), D, E).
'CHRlt_2__87'(lt(A, B), C, D, E) :-
	'CHRlt_2__87__89'(lt(A, B), C, D, E).
:- set_flag('CHRlt_2__87' / 4, leash, notrace).
'CHRlt_2__87__88'(['CHR::_2'(A :: [B|C], D, E, F)|G], H, lt(I, A), J, K) ?-
	'CHRvar'(D),
	'CHRcheck_and_mark_applied'(anonymous("32"), H, D, J, E),
	coca(try_double(K, lt(I, A), F, A :: [B|C], lt(L, M), M :: [N|O], augmentation, var(L), (last([N|O], P), lt(L, P)), anonymous("32"))),
	no_delayed_goals(var(I)),
	!,
	coca(fired_rule(anonymous("32"))),
	'CHRlt_2__87__88'(G, H, lt(I, A), J, K),
	last([B|C], Q),
	lt(I, Q).
'CHRlt_2__87__88'([A|B], C, D, E, F) :-
	'CHRlt_2__87__88'(B, C, D, E, F).
'CHRlt_2__87__88'([], A, B, C, D) :-
	'CHRlt_2__87__89'(B, A, C, D).
:- set_flag('CHRlt_2__87__88' / 5, leash, notrace).
'CHRlt_2__87__89'(lt(A, B), C, D, E) ?-
	'CHRvar'(C),
	!,
	'CHRget_delayed_goals'(A, F),
	'CHRlt_2__87__89__90'(F, C, lt(A, B), D, E).
'CHRlt_2__87__89'(lt(A, B), C, D, E) :-
	'CHRlt_2__87__89__91'(lt(A, B), C, D, E).
:- set_flag('CHRlt_2__87__89' / 4, leash, notrace).
'CHRlt_2__87__89__90'(['CHR::_2'(A :: [B|C], D, E, F)|G], H, lt(A, I), J, K) ?-
	'CHRvar'(D),
	'CHRcheck_and_mark_applied'(anonymous("33"), H, D, J, E),
	coca(try_double(K, lt(A, I), F, A :: [B|C], lt(L, M), L :: [N|O], augmentation, var(M), lt(N, M), anonymous("33"))),
	no_delayed_goals(var(I)),
	!,
	coca(fired_rule(anonymous("33"))),
	'CHRlt_2__87__89__90'(G, H, lt(A, I), J, K),
	lt(B, I).
'CHRlt_2__87__89__90'([A|B], C, D, E, F) :-
	'CHRlt_2__87__89__90'(B, C, D, E, F).
'CHRlt_2__87__89__90'([], A, B, C, D) :-
	'CHRlt_2__87__89__91'(B, A, C, D).
:- set_flag('CHRlt_2__87__89__90' / 5, leash, notrace).
'CHRlt_2__87__89__91'(lt(A, B), C, D, E) ?-
	'CHRvar'(C),
	!,
	'CHRget_delayed_goals'(B, F),
	'CHRlt_2__87__89__91__92'(F, C, lt(A, B), D, E).
'CHRlt_2__87__89__91'(lt(A, B), C, D, E) :-
	'CHRlt_2__87__89__91__93'(lt(A, B), C, D, E).
:- set_flag('CHRlt_2__87__89__91' / 4, leash, notrace).
'CHRlt_2__87__89__91__92'(['CHR::_2'(A :: B : C, D, E, F)|G], H, lt(I, A), J, K) ?-
	'CHRvar'(D),
	'CHRcheck_and_mark_applied'(anonymous("47"), H, D, J, E),
	coca(try_double(K, lt(I, A), F, A :: B : C, lt(L, M), M :: N : O, augmentation, var(L), lt(L, O), anonymous("47"))),
	no_delayed_goals(var(I)),
	!,
	coca(fired_rule(anonymous("47"))),
	'CHRlt_2__87__89__91__92'(G, H, lt(I, A), J, K),
	lt(I, C).
'CHRlt_2__87__89__91__92'([A|B], C, D, E, F) :-
	'CHRlt_2__87__89__91__92'(B, C, D, E, F).
'CHRlt_2__87__89__91__92'([], A, B, C, D) :-
	'CHRlt_2__87__89__91__93'(B, A, C, D).
:- set_flag('CHRlt_2__87__89__91__92' / 5, leash, notrace).
'CHRlt_2__87__89__91__93'(lt(A, B), C, D, E) ?-
	'CHRvar'(C),
	!,
	'CHRget_delayed_goals'(A, F),
	'CHRlt_2__87__89__91__93__94'(F, C, lt(A, B), D, E).
'CHRlt_2__87__89__91__93'(lt(A, B), C, D, E) :-
	'CHRlt_2__87__89__91__93__95'(lt(A, B), C, D, E).
:- set_flag('CHRlt_2__87__89__91__93' / 4, leash, notrace).
'CHRlt_2__87__89__91__93__94'(['CHR::_2'(A :: B : C, D, E, F)|G], H, lt(A, I), J, K) ?-
	'CHRvar'(D),
	'CHRcheck_and_mark_applied'(anonymous("48"), H, D, J, E),
	coca(try_double(K, lt(A, I), F, A :: B : C, lt(L, M), L :: N : O, augmentation, var(M), lt(N, M), anonymous("48"))),
	no_delayed_goals(var(I)),
	!,
	coca(fired_rule(anonymous("48"))),
	'CHRlt_2__87__89__91__93__94'(G, H, lt(A, I), J, K),
	lt(B, I).
'CHRlt_2__87__89__91__93__94'([A|B], C, D, E, F) :-
	'CHRlt_2__87__89__91__93__94'(B, C, D, E, F).
'CHRlt_2__87__89__91__93__94'([], A, B, C, D) :-
	'CHRlt_2__87__89__91__93__95'(B, A, C, D).
:- set_flag('CHRlt_2__87__89__91__93__94' / 5, leash, notrace).
'CHRlt_2__87__89__91__93__95'(lt(A, B), C, D, E) :-
	(
	    'CHRvar'(C)
	->
	    'CHRdelay'([C, lt(A, B)], 'CHRlt_2'(lt(A, B), C, D, E))
	;
	    true
	).
:- set_flag('CHRlt_2__87__89__91__93__95' / 4, leash, notrace).
le(A, B) :-
	'CHRgen_num'(C),
	coca(add_one_constraint(C, le(A, B))),
	'CHRle_2'(le(A, B), D, E, C).



%%% Rules handling for le / 2

'CHRle_2'(le(A, B), C, D, E) :-
	(
	    'CHRnonvar'(C)
	;
	    'CHRalready_in'('CHRle_2'(le(A, B), C, D, E)),
	    coca(already_in)
	),
	!.
'CHRle_2'(le(A, A), B, C, D) ?-
	coca(try_rule(D, le(A, A), anonymous("1"), le(E, E), replacement, true, true)),
	!,
	'CHRkill'(B),
	coca(fired_rule(anonymous("1"))).
'CHRle_2'(le(A, B), C, D, E) ?-
	coca(try_rule(E, le(A, B), anonymous("8"), le(F, G), replacement, (domain(number), ground(F), not number(F)), (H is F, le(H, G)))),
	no_delayed_goals((domain(number), ground(A), not number(A))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("8"))),
	I is A,
	le(I, B).
'CHRle_2'(le(A, B), C, D, E) ?-
	coca(try_rule(E, le(A, B), anonymous("9"), le(F, G), replacement, (domain(number), ground(G), not number(G)), (H is G, le(F, H)))),
	no_delayed_goals((domain(number), ground(B), not number(B))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("9"))),
	I is B,
	le(A, I).
'CHRle_2'(le(A, B), C, D, E) ?-
	coca(try_rule(E, le(A, B), anonymous("13"), le(F, G), replacement, (ground(F), ground(G)), domain(number) -> F =< G ; F @=< G)),
	no_delayed_goals((ground(A), ground(B))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("13"))),
	(
	    domain(number)
	->
	    A =< B
	;
	    A @=< B
	).
'CHRle_2'(le(A, B), C, D, E) ?-
	'CHRget_delayed_goals'(B, F),
	'CHRle_2__97'(F, [B, A], [], G),
	coca(try_double(E, le(A, B), G, le(B, A), le(H, I), le(I, H), replacement, true, H = I, anonymous("4"))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("4"))),
	A = B.
'CHRle_2'(le(A, B), C, D, E) ?-
	'CHRget_delayed_goals'(B, F),
	'CHRle_2__98'(F, [B, A], [], G),
	coca(try_double(E, le(A, B), G, le(B, A), le(H, I), le(I, H), replacement, true, I = H, anonymous("4"))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("4"))),
	B = A.
'CHRle_2'(le(A, B), C, D, E) ?-
	'CHRget_delayed_goals'(B, F),
	'CHRle_2__99'(F, [B], [G, H, I], J),
	coca(try_double(E, le(A, B), J, B :: [I|H], le(K, L), L :: [M|N], keep_second, ((ground(K), remove_lower(K, [M|N], O)), 'CHRkeep_heads_checking'(L :: [M|N], P, L :: O, Q)), 'CHRhead_not_kept'(Q) -> L :: O ; true, anonymous("25"))),
	no_delayed_goals(((ground(A), remove_lower(A, [I|H], R)), 'CHRkeep_heads_checking'(B :: [I|H], G, B :: R, S))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("25"))),
	(
	    'CHRhead_not_kept'(S)
	->
	    B :: R
	;
	    true
	).
'CHRle_2'(le(A, B), C, D, E) ?-
	'CHRget_delayed_goals'(A, F),
	'CHRle_2__100'(F, [A], [G, H, I], J),
	coca(try_double(E, le(A, B), J, A :: [I|H], le(K, L), K :: [M|N], keep_second, ((ground(L), remove_higher(L, [M|N], O)), 'CHRkeep_heads_checking'(K :: [M|N], P, K :: O, Q)), 'CHRhead_not_kept'(Q) -> K :: O ; true, anonymous("26"))),
	no_delayed_goals(((ground(B), remove_higher(B, [I|H], R)), 'CHRkeep_heads_checking'(A :: [I|H], G, A :: R, S))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("26"))),
	(
	    'CHRhead_not_kept'(S)
	->
	    A :: R
	;
	    true
	).
'CHRle_2'(le(A, B), C, D, E) ?-
	'CHRget_delayed_goals'(B, F),
	'CHRle_2__101'(F, [B], [G, H, I], J),
	coca(try_double(E, le(A, B), J, B :: I : H, le(K, L), L :: M : N, keep_second, ((ground(K), maximum(M, K, O)), 'CHRkeep_heads_checking'(L :: M : N, P, L :: O : N, Q)), 'CHRhead_not_kept'(Q) -> L :: O : N ; true, anonymous("41"))),
	no_delayed_goals(((ground(A), maximum(I, A, R)), 'CHRkeep_heads_checking'(B :: I : H, G, B :: R : H, S))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("41"))),
	(
	    'CHRhead_not_kept'(S)
	->
	    B :: R : H
	;
	    true
	).
'CHRle_2'(le(A, B), C, D, E) ?-
	'CHRget_delayed_goals'(A, F),
	'CHRle_2__102'(F, [A], [G, H, I], J),
	coca(try_double(E, le(A, B), J, A :: I : H, le(K, L), K :: M : N, keep_second, ((ground(L), minimum(N, L, O)), 'CHRkeep_heads_checking'(K :: M : N, P, K :: M : O, Q)), 'CHRhead_not_kept'(Q) -> K :: M : O ; true, anonymous("42"))),
	no_delayed_goals(((ground(B), minimum(H, B, R)), 'CHRkeep_heads_checking'(A :: I : H, G, A :: I : R, S))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("42"))),
	(
	    'CHRhead_not_kept'(S)
	->
	    A :: I : R
	;
	    true
	).
'CHRle_2'(le(A, B), C, D, E) ?-
	'CHRget_delayed_goals'(B, F),
	'CHRle_2__103'(F, [B, A], [G, H], I),
	coca(try_double(E, le(A, B), I, B - A :: H, le(J, K), K - J :: L, keep_second, ((M = N - O, findall(M, (member(M, L), N @=< O), P)), 'CHRkeep_heads_checking'(K - J :: L, Q, K - J :: P, R)), 'CHRhead_not_kept'(R) -> K - J :: P ; true, anonymous("62"))),
	no_delayed_goals(((S = T - U, findall(S, (member(S, H), T @=< U), V)), 'CHRkeep_heads_checking'(B - A :: H, G, B - A :: V, W))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("62"))),
	(
	    'CHRhead_not_kept'(W)
	->
	    B - A :: V
	;
	    true
	).
'CHRle_2'(le(A, B), C, D, E) ?-
	'CHRget_delayed_goals'(B, F),
	'CHRle_2__104'(F, [B, A], [G, H], I),
	coca(try_double(E, le(A, B), I, A - B :: H, le(J, K), J - K :: L, keep_second, ((M = N - O, findall(M, (member(M, L), O @=< N), P)), 'CHRkeep_heads_checking'(J - K :: L, Q, J - K :: P, R)), 'CHRhead_not_kept'(R) -> J - K :: P ; true, anonymous("63"))),
	no_delayed_goals(((S = T - U, findall(S, (member(S, H), U @=< T), V)), 'CHRkeep_heads_checking'(A - B :: H, G, A - B :: V, W))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("63"))),
	(
	    'CHRhead_not_kept'(W)
	->
	    A - B :: V
	;
	    true
	).
'CHRle_2'(le(A, B), C, D, E) :-
	'CHRle_2__96'(le(A, B), C, D, E).
'CHRle_2__97'(['CHRle_2'(le(A, B), C, D, E)|F], [A, B], [], G) ?-
	'CHRvar'(C),
	'CHRkill'(C),
	'CHR='([], []),
	'CHR='(E, G).
'CHRle_2__97'([A|B], C, D, E) :-
	'CHRle_2__97'(B, C, D, E).
:- set_flag('CHRle_2__97' / 4, leash, notrace).
'CHRle_2__98'(['CHRle_2'(le(A, B), C, D, E)|F], [A, B], [], G) ?-
	'CHRvar'(C),
	'CHRkill'(C),
	'CHR='([], []),
	'CHR='(E, G).
'CHRle_2__98'([A|B], C, D, E) :-
	'CHRle_2__98'(B, C, D, E).
:- set_flag('CHRle_2__98' / 4, leash, notrace).
'CHRle_2__99'(['CHR::_2'(A :: [B|C], D, E, F)|G], [A], [H, I, J], K) ?-
	'CHRvar'(D),
	'CHR='([D, C, B], [H, I, J]),
	'CHR='(F, K).
'CHRle_2__99'([A|B], C, D, E) :-
	'CHRle_2__99'(B, C, D, E).
:- set_flag('CHRle_2__99' / 4, leash, notrace).
'CHRle_2__100'(['CHR::_2'(A :: [B|C], D, E, F)|G], [A], [H, I, J], K) ?-
	'CHRvar'(D),
	'CHR='([D, C, B], [H, I, J]),
	'CHR='(F, K).
'CHRle_2__100'([A|B], C, D, E) :-
	'CHRle_2__100'(B, C, D, E).
:- set_flag('CHRle_2__100' / 4, leash, notrace).
'CHRle_2__101'(['CHR::_2'(A :: B : C, D, E, F)|G], [A], [H, I, J], K) ?-
	'CHRvar'(D),
	'CHR='([D, C, B], [H, I, J]),
	'CHR='(F, K).
'CHRle_2__101'([A|B], C, D, E) :-
	'CHRle_2__101'(B, C, D, E).
:- set_flag('CHRle_2__101' / 4, leash, notrace).
'CHRle_2__102'(['CHR::_2'(A :: B : C, D, E, F)|G], [A], [H, I, J], K) ?-
	'CHRvar'(D),
	'CHR='([D, C, B], [H, I, J]),
	'CHR='(F, K).
'CHRle_2__102'([A|B], C, D, E) :-
	'CHRle_2__102'(B, C, D, E).
:- set_flag('CHRle_2__102' / 4, leash, notrace).
'CHRle_2__103'(['CHR::_2'(A - B :: C, D, E, F)|G], [A, B], [H, I], J) ?-
	'CHRvar'(D),
	'CHR='([D, C], [H, I]),
	'CHR='(F, J).
'CHRle_2__103'([A|B], C, D, E) :-
	'CHRle_2__103'(B, C, D, E).
:- set_flag('CHRle_2__103' / 4, leash, notrace).
'CHRle_2__104'(['CHR::_2'(A - B :: C, D, E, F)|G], [B, A], [H, I], J) ?-
	'CHRvar'(D),
	'CHR='([D, C], [H, I]),
	'CHR='(F, J).
'CHRle_2__104'([A|B], C, D, E) :-
	'CHRle_2__104'(B, C, D, E).
:- set_flag('CHRle_2__104' / 4, leash, notrace).
:- set_flag('CHRle_2' / 4, leash, notrace).
:- current_macro('CHRle_2' / 4, _26130, _26131, _26132) -> true ; define_macro('CHRle_2' / 4, tr_chr / 2, [write]).
'CHRle_2__96'(A, B, C, D) :-
	'CHRle_2__105'(A, B, C, D).
:- set_flag('CHRle_2__96' / 4, leash, notrace).
'CHRle_2__105'(le(A, B), C, D, E) ?-
	'CHRvar'(C),
	!,
	'CHRget_delayed_goals'(B, F),
	'CHRle_2__105__106'(F, C, le(A, B), D, E).
'CHRle_2__105'(le(A, B), C, D, E) :-
	'CHRle_2__105__107'(le(A, B), C, D, E).
:- set_flag('CHRle_2__105' / 4, leash, notrace).
'CHRle_2__105__106'(['CHR::_2'(A :: [B|C], D, E, F)|G], H, le(I, A), J, K) ?-
	'CHRvar'(D),
	'CHRcheck_and_mark_applied'(anonymous("30"), H, D, J, E),
	coca(try_double(K, le(I, A), F, A :: [B|C], le(L, M), M :: [N|O], augmentation, var(L), (last([N|O], P), le(L, P)), anonymous("30"))),
	no_delayed_goals(var(I)),
	!,
	coca(fired_rule(anonymous("30"))),
	'CHRle_2__105__106'(G, H, le(I, A), J, K),
	last([B|C], Q),
	le(I, Q).
'CHRle_2__105__106'([A|B], C, D, E, F) :-
	'CHRle_2__105__106'(B, C, D, E, F).
'CHRle_2__105__106'([], A, B, C, D) :-
	'CHRle_2__105__107'(B, A, C, D).
:- set_flag('CHRle_2__105__106' / 5, leash, notrace).
'CHRle_2__105__107'(le(A, B), C, D, E) ?-
	'CHRvar'(C),
	!,
	'CHRget_delayed_goals'(A, F),
	'CHRle_2__105__107__108'(F, C, le(A, B), D, E).
'CHRle_2__105__107'(le(A, B), C, D, E) :-
	'CHRle_2__105__107__109'(le(A, B), C, D, E).
:- set_flag('CHRle_2__105__107' / 4, leash, notrace).
'CHRle_2__105__107__108'(['CHR::_2'(A :: [B|C], D, E, F)|G], H, le(A, I), J, K) ?-
	'CHRvar'(D),
	'CHRcheck_and_mark_applied'(anonymous("31"), H, D, J, E),
	coca(try_double(K, le(A, I), F, A :: [B|C], le(L, M), L :: [N|O], augmentation, var(M), le(N, M), anonymous("31"))),
	no_delayed_goals(var(I)),
	!,
	coca(fired_rule(anonymous("31"))),
	'CHRle_2__105__107__108'(G, H, le(A, I), J, K),
	le(B, I).
'CHRle_2__105__107__108'([A|B], C, D, E, F) :-
	'CHRle_2__105__107__108'(B, C, D, E, F).
'CHRle_2__105__107__108'([], A, B, C, D) :-
	'CHRle_2__105__107__109'(B, A, C, D).
:- set_flag('CHRle_2__105__107__108' / 5, leash, notrace).
'CHRle_2__105__107__109'(le(A, B), C, D, E) ?-
	'CHRvar'(C),
	!,
	'CHRget_delayed_goals'(B, F),
	'CHRle_2__105__107__109__110'(F, C, le(A, B), D, E).
'CHRle_2__105__107__109'(le(A, B), C, D, E) :-
	'CHRle_2__105__107__109__111'(le(A, B), C, D, E).
:- set_flag('CHRle_2__105__107__109' / 4, leash, notrace).
'CHRle_2__105__107__109__110'(['CHR::_2'(A :: B : C, D, E, F)|G], H, le(I, A), J, K) ?-
	'CHRvar'(D),
	'CHRcheck_and_mark_applied'(anonymous("45"), H, D, J, E),
	coca(try_double(K, le(I, A), F, A :: B : C, le(L, M), M :: N : O, augmentation, var(L), le(L, O), anonymous("45"))),
	no_delayed_goals(var(I)),
	!,
	coca(fired_rule(anonymous("45"))),
	'CHRle_2__105__107__109__110'(G, H, le(I, A), J, K),
	le(I, C).
'CHRle_2__105__107__109__110'([A|B], C, D, E, F) :-
	'CHRle_2__105__107__109__110'(B, C, D, E, F).
'CHRle_2__105__107__109__110'([], A, B, C, D) :-
	'CHRle_2__105__107__109__111'(B, A, C, D).
:- set_flag('CHRle_2__105__107__109__110' / 5, leash, notrace).
'CHRle_2__105__107__109__111'(le(A, B), C, D, E) ?-
	'CHRvar'(C),
	!,
	'CHRget_delayed_goals'(A, F),
	'CHRle_2__105__107__109__111__112'(F, C, le(A, B), D, E).
'CHRle_2__105__107__109__111'(le(A, B), C, D, E) :-
	'CHRle_2__105__107__109__111__113'(le(A, B), C, D, E).
:- set_flag('CHRle_2__105__107__109__111' / 4, leash, notrace).
'CHRle_2__105__107__109__111__112'(['CHR::_2'(A :: B : C, D, E, F)|G], H, le(A, I), J, K) ?-
	'CHRvar'(D),
	'CHRcheck_and_mark_applied'(anonymous("46"), H, D, J, E),
	coca(try_double(K, le(A, I), F, A :: B : C, le(L, M), L :: N : O, augmentation, var(M), le(N, M), anonymous("46"))),
	no_delayed_goals(var(I)),
	!,
	coca(fired_rule(anonymous("46"))),
	'CHRle_2__105__107__109__111__112'(G, H, le(A, I), J, K),
	le(B, I).
'CHRle_2__105__107__109__111__112'([A|B], C, D, E, F) :-
	'CHRle_2__105__107__109__111__112'(B, C, D, E, F).
'CHRle_2__105__107__109__111__112'([], A, B, C, D) :-
	'CHRle_2__105__107__109__111__113'(B, A, C, D).
:- set_flag('CHRle_2__105__107__109__111__112' / 5, leash, notrace).
'CHRle_2__105__107__109__111__113'(le(A, B), C, D, E) :-
	(
	    'CHRvar'(C)
	->
	    'CHRdelay'([C, le(A, B)], 'CHRle_2'(le(A, B), C, D, E))
	;
	    true
	).
:- set_flag('CHRle_2__105__107__109__111__113' / 4, leash, notrace).
ne(A, B) :-
	'CHRgen_num'(C),
	coca(add_one_constraint(C, ne(A, B))),
	'CHRne_2'(ne(A, B), D, E, C).



%%% Rules handling for ne / 2

'CHRne_2'(ne(A, B), C, D, E) :-
	(
	    'CHRnonvar'(C)
	;
	    'CHRalready_in'('CHRne_2'(ne(A, B), C, D, E)),
	    coca(already_in)
	),
	!.
'CHRne_2'(ne(A, A), B, C, D) ?-
	coca(try_rule(D, ne(A, A), anonymous("2"), ne(E, E), replacement, true, fail)),
	!,
	'CHRkill'(B),
	coca(fired_rule(anonymous("2"))),
	fail.
'CHRne_2'(ne(A, B), C, D, E) ?-
	coca(try_rule(E, ne(A, B), anonymous("10"), ne(F, G), replacement, (domain(number), ground(F), not number(F)), (H is F, ne(H, G)))),
	no_delayed_goals((domain(number), ground(A), not number(A))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("10"))),
	I is A,
	ne(I, B).
'CHRne_2'(ne(A, B), C, D, E) ?-
	coca(try_rule(E, ne(A, B), anonymous("11"), ne(F, G), replacement, (domain(number), ground(G), not number(G)), (H is G, ne(F, H)))),
	no_delayed_goals((domain(number), ground(B), not number(B))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("11"))),
	I is B,
	ne(A, I).
'CHRne_2'(ne(A, B), C, D, E) ?-
	coca(try_rule(E, ne(A, B), anonymous("14"), ne(F, G), replacement, (ground(F), ground(G)), domain(number) -> F =\= G ; F \== G)),
	no_delayed_goals((ground(A), ground(B))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("14"))),
	(
	    domain(number)
	->
	    A =\= B
	;
	    A \== B
	).
'CHRne_2'(ne(A, B), C, D, E) ?-
	'CHRget_delayed_goals'(B, F),
	'CHRne_2__115'(F, [B, A], [], G),
	coca(try_double(E, ne(A, B), G, ne(B, A), ne(H, I), ne(I, H), keep_second, true, true, anonymous("5"))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("5"))).
'CHRne_2'(ne(A, B), C, D, E) ?-
	'CHRget_delayed_goals'(A, F),
	'CHRne_2__116'(F, [A], [G, H, I], J),
	coca(try_double(E, ne(A, B), J, A :: [I|H], ne(K, L), K :: [M|N], keep_second, ((ground(L), remove(L, [M|N], O)), 'CHRkeep_heads_checking'(K :: [M|N], P, K :: O, Q)), 'CHRhead_not_kept'(Q) -> K :: O ; true, anonymous("23"))),
	no_delayed_goals(((ground(B), remove(B, [I|H], R)), 'CHRkeep_heads_checking'(A :: [I|H], G, A :: R, S))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("23"))),
	(
	    'CHRhead_not_kept'(S)
	->
	    A :: R
	;
	    true
	).
'CHRne_2'(ne(A, B), C, D, E) ?-
	'CHRget_delayed_goals'(B, F),
	'CHRne_2__117'(F, [B], [G, H, I], J),
	coca(try_double(E, ne(A, B), J, B :: [I|H], ne(K, L), L :: [M|N], keep_second, ((ground(K), remove(K, [M|N], O)), 'CHRkeep_heads_checking'(L :: [M|N], P, L :: O, Q)), 'CHRhead_not_kept'(Q) -> L :: O ; true, anonymous("24"))),
	no_delayed_goals(((ground(A), remove(A, [I|H], R)), 'CHRkeep_heads_checking'(B :: [I|H], G, B :: R, S))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("24"))),
	(
	    'CHRhead_not_kept'(S)
	->
	    B :: R
	;
	    true
	).
'CHRne_2'(ne(A, B), C, D, E) ?-
	'CHRget_delayed_goals'(A, F),
	'CHRne_2__118'(F, [A], [G, H], I),
	coca(try_double(E, ne(A, B), I, A :: H : G, ne(J, K), J :: L : M, keep_second, (ground(K), (domain(number) -> (K < L ; K > M) ; K @< L ; K @> M)), true, anonymous("39"))),
	no_delayed_goals((ground(B), (domain(number) -> (B < H ; B > G) ; B @< H ; B @> G))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("39"))).
'CHRne_2'(ne(A, B), C, D, E) ?-
	'CHRget_delayed_goals'(B, F),
	'CHRne_2__119'(F, [B], [G, H], I),
	coca(try_double(E, ne(A, B), I, B :: H : G, ne(J, K), K :: L : M, keep_second, (ground(J), (domain(number) -> (J < L ; J > M) ; J @< L ; J @> M)), true, anonymous("40"))),
	no_delayed_goals((ground(A), (domain(number) -> (A < H ; A > G) ; A @< H ; A @> G))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("40"))).
'CHRne_2'(ne(A, B), C, D, E) ?-
	'CHRget_delayed_goals'(B, F),
	'CHRne_2__120'(F, [B, A], [G, H], I),
	coca(try_double(E, ne(A, B), I, B - A :: H, ne(J, K), K - J :: L, keep_second, ((M = N - O, findall(M, (member(M, L), N \== O), P)), 'CHRkeep_heads_checking'(K - J :: L, Q, K - J :: P, R)), 'CHRhead_not_kept'(R) -> K - J :: P ; true, anonymous("64"))),
	no_delayed_goals(((S = T - U, findall(S, (member(S, H), T \== U), V)), 'CHRkeep_heads_checking'(B - A :: H, G, B - A :: V, W))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("64"))),
	(
	    'CHRhead_not_kept'(W)
	->
	    B - A :: V
	;
	    true
	).
'CHRne_2'(ne(A, B), C, D, E) ?-
	'CHRget_delayed_goals'(B, F),
	'CHRne_2__121'(F, [B, A], [G, H], I),
	coca(try_double(E, ne(A, B), I, A - B :: H, ne(J, K), J - K :: L, keep_second, ((M = N - O, findall(M, (member(M, L), O \== N), P)), 'CHRkeep_heads_checking'(J - K :: L, Q, J - K :: P, R)), 'CHRhead_not_kept'(R) -> J - K :: P ; true, anonymous("65"))),
	no_delayed_goals(((S = T - U, findall(S, (member(S, H), U \== T), V)), 'CHRkeep_heads_checking'(A - B :: H, G, A - B :: V, W))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("65"))),
	(
	    'CHRhead_not_kept'(W)
	->
	    A - B :: V
	;
	    true
	).
'CHRne_2'(ne(A, B), C, D, E) :-
	'CHRne_2__114'(ne(A, B), C, D, E).
'CHRne_2__115'(['CHRne_2'(ne(A, B), C, D, E)|F], [A, B], [], G) ?-
	'CHRvar'(C),
	'CHR='([], []),
	'CHR='(E, G).
'CHRne_2__115'([A|B], C, D, E) :-
	'CHRne_2__115'(B, C, D, E).
:- set_flag('CHRne_2__115' / 4, leash, notrace).
'CHRne_2__116'(['CHR::_2'(A :: [B|C], D, E, F)|G], [A], [H, I, J], K) ?-
	'CHRvar'(D),
	'CHR='([D, C, B], [H, I, J]),
	'CHR='(F, K).
'CHRne_2__116'([A|B], C, D, E) :-
	'CHRne_2__116'(B, C, D, E).
:- set_flag('CHRne_2__116' / 4, leash, notrace).
'CHRne_2__117'(['CHR::_2'(A :: [B|C], D, E, F)|G], [A], [H, I, J], K) ?-
	'CHRvar'(D),
	'CHR='([D, C, B], [H, I, J]),
	'CHR='(F, K).
'CHRne_2__117'([A|B], C, D, E) :-
	'CHRne_2__117'(B, C, D, E).
:- set_flag('CHRne_2__117' / 4, leash, notrace).
'CHRne_2__118'(['CHR::_2'(A :: B : C, D, E, F)|G], [A], [H, I], J) ?-
	'CHRvar'(D),
	'CHR='([C, B], [H, I]),
	'CHR='(F, J).
'CHRne_2__118'([A|B], C, D, E) :-
	'CHRne_2__118'(B, C, D, E).
:- set_flag('CHRne_2__118' / 4, leash, notrace).
'CHRne_2__119'(['CHR::_2'(A :: B : C, D, E, F)|G], [A], [H, I], J) ?-
	'CHRvar'(D),
	'CHR='([C, B], [H, I]),
	'CHR='(F, J).
'CHRne_2__119'([A|B], C, D, E) :-
	'CHRne_2__119'(B, C, D, E).
:- set_flag('CHRne_2__119' / 4, leash, notrace).
'CHRne_2__120'(['CHR::_2'(A - B :: C, D, E, F)|G], [A, B], [H, I], J) ?-
	'CHRvar'(D),
	'CHR='([D, C], [H, I]),
	'CHR='(F, J).
'CHRne_2__120'([A|B], C, D, E) :-
	'CHRne_2__120'(B, C, D, E).
:- set_flag('CHRne_2__120' / 4, leash, notrace).
'CHRne_2__121'(['CHR::_2'(A - B :: C, D, E, F)|G], [B, A], [H, I], J) ?-
	'CHRvar'(D),
	'CHR='([D, C], [H, I]),
	'CHR='(F, J).
'CHRne_2__121'([A|B], C, D, E) :-
	'CHRne_2__121'(B, C, D, E).
:- set_flag('CHRne_2__121' / 4, leash, notrace).
:- set_flag('CHRne_2' / 4, leash, notrace).
:- current_macro('CHRne_2' / 4, _33787, _33788, _33789) -> true ; define_macro('CHRne_2' / 4, tr_chr / 2, [write]).
'CHRne_2__114'(A, B, C, D) :-
	'CHRne_2__122'(A, B, C, D).
:- set_flag('CHRne_2__114' / 4, leash, notrace).
'CHRne_2__122'(ne(A, B), C, D, E) ?-
	'CHRvar'(C),
	!,
	'CHRget_delayed_goals'(B, F),
	'CHRne_2__122__123'(F, C, ne(A, B), D, E).
'CHRne_2__122'(ne(A, B), C, D, E) :-
	'CHRne_2__122__124'(ne(A, B), C, D, E).
:- set_flag('CHRne_2__122' / 4, leash, notrace).
'CHRne_2__122__123'(['CHRne_2'(ne(A, B), C, D, E)|F], G, ne(B, A), H, I) ?-
	'CHRvar'(C),
	coca(try_double(I, ne(B, A), E, ne(A, B), ne(J, K), ne(K, J), keep_first, true, true, anonymous("5"))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("5"))),
	'CHRne_2__122__123'(F, G, ne(B, A), H, I).
'CHRne_2__122__123'([A|B], C, D, E, F) :-
	'CHRne_2__122__123'(B, C, D, E, F).
'CHRne_2__122__123'([], A, B, C, D) :-
	'CHRne_2__122__124'(B, A, C, D).
:- set_flag('CHRne_2__122__123' / 5, leash, notrace).
'CHRne_2__122__124'(ne(A, B), C, D, E) :-
	(
	    'CHRvar'(C)
	->
	    'CHRdelay'([C, ne(A, B)], 'CHRne_2'(ne(A, B), C, D, E))
	;
	    true
	).
:- set_flag('CHRne_2__122__124' / 4, leash, notrace).



%%% Prolog clauses for :: / 2

'clause_::'(A, [B|C]) :-
	member(A, [B|C]).
'clause_::'(A, B : C) :-
	D is (B + C) / 2,
	(
	    A :: B : D
	;
	    ne(A, D),
	    A :: D : C
	).
:- current_macro('clause_::' / 2, _34757, _34758, _34759) -> true ; define_macro('clause_::' / 2, tr_chr / 2, [write]).
A :: B :-
	'CHRgen_num'(C),
	coca(add_one_constraint(C, A :: B)),
	'CHR::_2'(A :: B, D, E, C).



%%% Rules handling for :: / 2

'CHR::_2'(A :: B, C, D, E) :-
	(
	    'CHRnonvar'(C)
	;
	    'CHRalready_in'('CHR::_2'(A :: B, C, D, E)),
	    coca(already_in)
	),
	!.
'CHR::_2'(A :: B, C, D, E) ?-
	coca(try_rule(E, A :: B, anonymous("15"), F :: G, replacement, nonground(G), (write('ERROR: Nonground Domain in '), writeln(F :: G), abort))),
	no_delayed_goals(nonground(B)),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("15"))),
	write('ERROR: Nonground Domain in '),
	writeln(A :: B),
	abort.
'CHR::_2'([A|B] :: C, D, E, F) ?-
	coca(try_rule(F, [A|B] :: C, anonymous("16"), [G|H] :: I, replacement, true, makedom([G|H], I))),
	!,
	'CHRkill'(D),
	coca(fired_rule(anonymous("16"))),
	makedom([A|B], C).
'CHR::_2'(A :: B .. C, D, E, F) ?-
	coca(try_rule(F, A :: B .. C, anonymous("17"), G :: H .. I, replacement, true, (J is H, (J =:= round(J) -> K is fix(J) ; K is fix(J + 1)), L is fix(I), interval(K, L, M), G :: M))),
	!,
	'CHRkill'(D),
	coca(fired_rule(anonymous("17"))),
	N is B,
	(
	    N =:= round(N)
	->
	    O is fix(N)
	;
	    O is fix(N + 1)
	),
	P is fix(C),
	interval(O, P, Q),
	A :: Q.
'CHR::_2'(A :: [B|C], D, E, F) ?-
	coca(try_rule(F, A :: [B|C], anonymous("18"), G :: [H|I], replacement, (domain(number), member(G, [H|I]), not number(G)), (eval_list([H|I], J), sort(J, K), G :: K))),
	no_delayed_goals((domain(number), member(A, [B|C]), not number(A))),
	!,
	'CHRkill'(D),
	coca(fired_rule(anonymous("18"))),
	eval_list([B|C], L),
	sort(L, M),
	A :: M.
'CHR::_2'(A :: [], B, C, D) ?-
	coca(try_rule(D, A :: [], anonymous("19"), E :: [], replacement, true, fail)),
	!,
	'CHRkill'(B),
	coca(fired_rule(anonymous("19"))),
	fail.
'CHR::_2'(A :: [B], C, D, E) ?-
	coca(try_rule(E, A :: [B], anonymous("20"), F :: [G], replacement, true, F = G)),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("20"))),
	A = B.
'CHR::_2'(A :: [B|C], D, E, F) ?-
	coca(try_rule(F, A :: [B|C], anonymous("21"), G :: [H|I], replacement, ground(G), member(G, [H|I]) -> true)),
	no_delayed_goals(ground(A)),
	!,
	'CHRkill'(D),
	coca(fired_rule(anonymous("21"))),
	(
	    member(A, [B|C])
	->
	    true
	).
'CHR::_2'(A :: B : C, D, E, F) ?-
	coca(try_rule(F, A :: B : C, anonymous("34"), G :: H : I, replacement, (domain(number), not (number(H), number(I))), (J is H, K is I, G :: J : K))),
	no_delayed_goals((domain(number), not (number(B), number(C)))),
	!,
	'CHRkill'(D),
	coca(fired_rule(anonymous("34"))),
	L is B,
	M is C,
	A :: L : M.
'CHR::_2'(A :: B : B, C, D, E) ?-
	coca(try_rule(E, A :: B : B, anonymous("35"), F :: G : G, replacement, true, F = G)),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("35"))),
	A = B.
'CHR::_2'(A :: B : C, D, E, F) ?-
	coca(try_rule(F, A :: B : C, anonymous("36"), G :: H : I, replacement, domain(number) -> H > I ; H @> I, fail)),
	no_delayed_goals(domain(number) -> B > C ; B @> C),
	!,
	'CHRkill'(D),
	coca(fired_rule(anonymous("36"))),
	fail.
'CHR::_2'(A :: B : C, D, E, F) ?-
	coca(try_rule(F, A :: B : C, anonymous("37"), G :: H : I, replacement, ground(G), domain(number) -> (H =< G, G =< I) ; (H @=< G, G @=< I))),
	no_delayed_goals(ground(A)),
	!,
	'CHRkill'(D),
	coca(fired_rule(anonymous("37"))),
	(
	    domain(number)
	->
	    B =< A,
	    A =< C
	;
	    B @=< A,
	    A @=< C
	).
'CHR::_2'(A - A :: B, C, D, E) ?-
	coca(try_rule(E, A - A :: B, anonymous("53"), F - F :: G, replacement, true, (setof(H, member(H - H, G), I), F :: I))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("53"))),
	setof(J, member(J - J, B), K),
	A :: K.
'CHR::_2'(A - B :: C, D, E, F) ?-
	coca(try_rule(F, A - B :: C, anonymous("54"), G - H :: I, replacement, ground(G), (setof(J, member(G - J, I), K), H :: K))),
	no_delayed_goals(ground(A)),
	!,
	'CHRkill'(D),
	coca(fired_rule(anonymous("54"))),
	setof(L, member(A - L, C), M),
	B :: M.
'CHR::_2'(A - B :: C, D, E, F) ?-
	coca(try_rule(F, A - B :: C, anonymous("55"), G - H :: I, replacement, ground(H), (setof(J, member(J - H, I), K), G :: K))),
	no_delayed_goals(ground(B)),
	!,
	'CHRkill'(D),
	coca(fired_rule(anonymous("55"))),
	setof(L, member(L - B, C), M),
	A :: M.
'CHR::_2'(A :: B, C, D, E) :-
	'CHR::_2__125'(A :: B, C, D, E).
:- set_flag('CHR::_2' / 4, leash, notrace).
:- current_macro('CHR::_2' / 4, _37750, _37751, _37752) -> true ; define_macro('CHR::_2' / 4, tr_chr / 2, [write]).
'CHR::_2__125'(A - B :: C, D, E, F) ?-
	'CHRvar'(D),
	'CHRcheck_and_mark_applied'('CHR::_2__125', E),
	coca(try_rule(F, A - B :: C, anonymous("66"), G - H :: I, augmentation, true, (J = K - L, setof(K, J ^ member(J, I), M), G :: M, setof(L, J ^ member(J, I), N), H :: N))),
	!,
	'CHR::_2__125__127'(A - B :: C, D, E, F),
	coca(fired_rule(anonymous("66"))),
	O = P - Q,
	setof(P, O ^ member(O, C), R),
	A :: R,
	setof(Q, O ^ member(O, C), S),
	B :: S.
'CHR::_2__125'(A, B, C, D) ?-
	'CHR::_2__125__127'(A, B, C, D).
:- set_flag('CHR::_2__125' / 4, leash, notrace).
'CHR::_2__125__127'(A, B, C, D) :-
	'CHR::_2__126'(A, B, C, D).
:- set_flag('CHR::_2__125__127' / 4, leash, notrace).
'CHR::_2__126'(A :: [B|C], D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(A, G),
	'CHR::_2__126__128'(G, D, A :: [B|C], E, F).
'CHR::_2__126'(A :: B, C, D, E) :-
	'CHR::_2__126__129'(A :: B, C, D, E).
:- set_flag('CHR::_2__126' / 4, leash, notrace).
'CHR::_2__126__128'(['CHRne_2'(ne(A, B), C, D, E)|F], G, A :: [H|I], J, K) ?-
	'CHRvar'(C),
	coca(try_double(K, A :: [H|I], E, ne(A, B), L :: [M|N], ne(L, O), keep_first, ((ground(O), remove(O, [M|N], P)), 'CHRkeep_heads_checking'(L :: [M|N], Q, L :: P, R)), 'CHRhead_not_kept'(R) -> L :: P ; true, anonymous("23"))),
	no_delayed_goals(((ground(B), remove(B, [H|I], S)), 'CHRkeep_heads_checking'(A :: [H|I], G, A :: S, T))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("23"))),
	'CHR::_2__126__128'(F, G, A :: [H|I], J, K),
	(
	    'CHRhead_not_kept'(T)
	->
	    A :: S
	;
	    true
	).
'CHR::_2__126__128'([A|B], C, D, E, F) :-
	'CHR::_2__126__128'(B, C, D, E, F).
'CHR::_2__126__128'([], A, B, C, D) :-
	'CHR::_2__126__129'(B, A, C, D).
:- set_flag('CHR::_2__126__128' / 5, leash, notrace).
'CHR::_2__126__129'(A :: [B|C], D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(A, G),
	'CHR::_2__126__129__130'(G, D, A :: [B|C], E, F).
'CHR::_2__126__129'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129' / 4, leash, notrace).
'CHR::_2__126__129__130'(['CHRne_2'(ne(A, B), C, D, E)|F], G, B :: [H|I], J, K) ?-
	'CHRvar'(C),
	coca(try_double(K, B :: [H|I], E, ne(A, B), L :: [M|N], ne(O, L), keep_first, ((ground(O), remove(O, [M|N], P)), 'CHRkeep_heads_checking'(L :: [M|N], Q, L :: P, R)), 'CHRhead_not_kept'(R) -> L :: P ; true, anonymous("24"))),
	no_delayed_goals(((ground(A), remove(A, [H|I], S)), 'CHRkeep_heads_checking'(B :: [H|I], G, B :: S, T))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("24"))),
	'CHR::_2__126__129__130'(F, G, B :: [H|I], J, K),
	(
	    'CHRhead_not_kept'(T)
	->
	    B :: S
	;
	    true
	).
'CHR::_2__126__129__130'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__130'(B, C, D, E, F).
'CHR::_2__126__129__130'([], A, B, C, D) :-
	'CHR::_2__126__129__131'(B, A, C, D).
:- set_flag('CHR::_2__126__129__130' / 5, leash, notrace).
'CHR::_2__126__129__131'(A :: [B|C], D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(A, G),
	'CHR::_2__126__129__131__132'(G, D, A :: [B|C], E, F).
'CHR::_2__126__129__131'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131' / 4, leash, notrace).
'CHR::_2__126__129__131__132'(['CHRle_2'(le(A, B), C, D, E)|F], G, B :: [H|I], J, K) ?-
	'CHRvar'(C),
	coca(try_double(K, B :: [H|I], E, le(A, B), L :: [M|N], le(O, L), keep_first, ((ground(O), remove_lower(O, [M|N], P)), 'CHRkeep_heads_checking'(L :: [M|N], Q, L :: P, R)), 'CHRhead_not_kept'(R) -> L :: P ; true, anonymous("25"))),
	no_delayed_goals(((ground(A), remove_lower(A, [H|I], S)), 'CHRkeep_heads_checking'(B :: [H|I], G, B :: S, T))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("25"))),
	'CHR::_2__126__129__131__132'(F, G, B :: [H|I], J, K),
	(
	    'CHRhead_not_kept'(T)
	->
	    B :: S
	;
	    true
	).
'CHR::_2__126__129__131__132'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__132'(B, C, D, E, F).
'CHR::_2__126__129__131__132'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__132' / 5, leash, notrace).
'CHR::_2__126__129__131__133'(A :: [B|C], D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(A, G),
	'CHR::_2__126__129__131__133__134'(G, D, A :: [B|C], E, F).
'CHR::_2__126__129__131__133'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133' / 4, leash, notrace).
'CHR::_2__126__129__131__133__134'(['CHRle_2'(le(A, B), C, D, E)|F], G, A :: [H|I], J, K) ?-
	'CHRvar'(C),
	coca(try_double(K, A :: [H|I], E, le(A, B), L :: [M|N], le(L, O), keep_first, ((ground(O), remove_higher(O, [M|N], P)), 'CHRkeep_heads_checking'(L :: [M|N], Q, L :: P, R)), 'CHRhead_not_kept'(R) -> L :: P ; true, anonymous("26"))),
	no_delayed_goals(((ground(B), remove_higher(B, [H|I], S)), 'CHRkeep_heads_checking'(A :: [H|I], G, A :: S, T))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("26"))),
	'CHR::_2__126__129__131__133__134'(F, G, A :: [H|I], J, K),
	(
	    'CHRhead_not_kept'(T)
	->
	    A :: S
	;
	    true
	).
'CHR::_2__126__129__131__133__134'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__134'(B, C, D, E, F).
'CHR::_2__126__129__131__133__134'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__134' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135'(A :: [B|C], D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(A, G),
	'CHR::_2__126__129__131__133__135__136'(G, D, A :: [B|C], E, F).
'CHR::_2__126__129__131__133__135'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__136'(['CHRlt_2'(lt(A, B), C, D, E)|F], G, B :: [H|I], J, K) ?-
	'CHRvar'(C),
	coca(try_double(K, B :: [H|I], E, lt(A, B), L :: [M|N], lt(O, L), keep_first, ((ground(O), remove_lower(O, [M|N], P), remove(O, P, Q)), 'CHRkeep_heads_checking'(L :: [M|N], R, L :: Q, S)), 'CHRhead_not_kept'(S) -> L :: Q ; true, anonymous("27"))),
	no_delayed_goals(((ground(A), remove_lower(A, [H|I], T), remove(A, T, U)), 'CHRkeep_heads_checking'(B :: [H|I], G, B :: U, V))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("27"))),
	'CHR::_2__126__129__131__133__135__136'(F, G, B :: [H|I], J, K),
	(
	    'CHRhead_not_kept'(V)
	->
	    B :: U
	;
	    true
	).
'CHR::_2__126__129__131__133__135__136'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__136'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__136'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__136' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137'(A :: [B|C], D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(A, G),
	'CHR::_2__126__129__131__133__135__137__138'(G, D, A :: [B|C], E, F).
'CHR::_2__126__129__131__133__135__137'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__138'(['CHRlt_2'(lt(A, B), C, D, E)|F], G, A :: [H|I], J, K) ?-
	'CHRvar'(C),
	coca(try_double(K, A :: [H|I], E, lt(A, B), L :: [M|N], lt(L, O), keep_first, ((ground(O), remove_higher(O, [M|N], P), remove(O, P, Q)), 'CHRkeep_heads_checking'(L :: [M|N], R, L :: Q, S)), 'CHRhead_not_kept'(S) -> L :: Q ; true, anonymous("28"))),
	no_delayed_goals(((ground(B), remove_higher(B, [H|I], T), remove(B, T, U)), 'CHRkeep_heads_checking'(A :: [H|I], G, A :: U, V))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("28"))),
	'CHR::_2__126__129__131__133__135__137__138'(F, G, A :: [H|I], J, K),
	(
	    'CHRhead_not_kept'(V)
	->
	    A :: U
	;
	    true
	).
'CHR::_2__126__129__131__133__135__137__138'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__138'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__138'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__138' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139'(A :: B : C, D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(A, G),
	'CHR::_2__126__129__131__133__135__137__139__140'(G, D, A :: B : C, E, F).
'CHR::_2__126__129__131__133__135__137__139'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__140'(['CHRne_2'(ne(A, B), C, D, E)|F], G, A :: H : I, J, K) ?-
	'CHRvar'(C),
	coca(try_double(K, A :: H : I, E, ne(A, B), L :: M : N, ne(L, O), keep_first, (ground(O), (domain(number) -> (O < M ; O > N) ; O @< M ; O @> N)), true, anonymous("39"))),
	no_delayed_goals((ground(B), (domain(number) -> (B < H ; B > I) ; B @< H ; B @> I))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("39"))),
	'CHR::_2__126__129__131__133__135__137__139__140'(F, G, A :: H : I, J, K).
'CHR::_2__126__129__131__133__135__137__139__140'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__140'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__140'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__140' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141'(A :: B : C, D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(A, G),
	'CHR::_2__126__129__131__133__135__137__139__141__142'(G, D, A :: B : C, E, F).
'CHR::_2__126__129__131__133__135__137__139__141'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__142'(['CHRne_2'(ne(A, B), C, D, E)|F], G, B :: H : I, J, K) ?-
	'CHRvar'(C),
	coca(try_double(K, B :: H : I, E, ne(A, B), L :: M : N, ne(O, L), keep_first, (ground(O), (domain(number) -> (O < M ; O > N) ; O @< M ; O @> N)), true, anonymous("40"))),
	no_delayed_goals((ground(A), (domain(number) -> (A < H ; A > I) ; A @< H ; A @> I))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("40"))),
	'CHR::_2__126__129__131__133__135__137__139__141__142'(F, G, B :: H : I, J, K).
'CHR::_2__126__129__131__133__135__137__139__141__142'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__142'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__142'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__142' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143'(A :: B : C, D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(A, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__144'(G, D, A :: B : C, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__144'(['CHRle_2'(le(A, B), C, D, E)|F], G, B :: H : I, J, K) ?-
	'CHRvar'(C),
	coca(try_double(K, B :: H : I, E, le(A, B), L :: M : N, le(O, L), keep_first, ((ground(O), maximum(M, O, P)), 'CHRkeep_heads_checking'(L :: M : N, Q, L :: P : N, R)), 'CHRhead_not_kept'(R) -> L :: P : N ; true, anonymous("41"))),
	no_delayed_goals(((ground(A), maximum(H, A, S)), 'CHRkeep_heads_checking'(B :: H : I, G, B :: S : I, T))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("41"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__144'(F, G, B :: H : I, J, K),
	(
	    'CHRhead_not_kept'(T)
	->
	    B :: S : I
	;
	    true
	).
'CHR::_2__126__129__131__133__135__137__139__141__143__144'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__144'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__144'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__144' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145'(A :: B : C, D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(A, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__146'(G, D, A :: B : C, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__146'(['CHRle_2'(le(A, B), C, D, E)|F], G, A :: H : I, J, K) ?-
	'CHRvar'(C),
	coca(try_double(K, A :: H : I, E, le(A, B), L :: M : N, le(L, O), keep_first, ((ground(O), minimum(N, O, P)), 'CHRkeep_heads_checking'(L :: M : N, Q, L :: M : P, R)), 'CHRhead_not_kept'(R) -> L :: M : P ; true, anonymous("42"))),
	no_delayed_goals(((ground(B), minimum(I, B, S)), 'CHRkeep_heads_checking'(A :: H : I, G, A :: H : S, T))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("42"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__146'(F, G, A :: H : I, J, K),
	(
	    'CHRhead_not_kept'(T)
	->
	    A :: H : S
	;
	    true
	).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__146'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__146'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__146'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__146' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147'(A :: B : C, D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(A, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__148'(G, D, A :: B : C, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__148'(['CHRlt_2'(lt(A, B), C, D, E)|F], G, B :: H : I, J, K) ?-
	'CHRvar'(C),
	coca(try_double(K, B :: H : I, E, lt(A, B), L :: M : N, lt(O, L), keep_first, ((ground(O), maximum(M, O, P)), 'CHRkeep_heads_checking'(L :: M : N, Q, L :: P : N, R)), (('CHRhead_not_kept'(R) -> L :: P : N ; true), ne(L, P)), anonymous("43"))),
	no_delayed_goals(((ground(A), maximum(H, A, S)), 'CHRkeep_heads_checking'(B :: H : I, G, B :: S : I, T))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("43"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__148'(F, G, B :: H : I, J, K),
	(
	    'CHRhead_not_kept'(T)
	->
	    B :: S : I
	;
	    true
	),
	ne(B, S).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__148'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__148'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__148'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__148' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149'(A :: B : C, D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(A, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__150'(G, D, A :: B : C, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__150'(['CHRlt_2'(lt(A, B), C, D, E)|F], G, A :: H : I, J, K) ?-
	'CHRvar'(C),
	coca(try_double(K, A :: H : I, E, lt(A, B), L :: M : N, lt(L, O), keep_first, ((ground(O), minimum(N, O, P)), 'CHRkeep_heads_checking'(L :: M : N, Q, L :: M : P, R)), (('CHRhead_not_kept'(R) -> L :: M : P ; true), ne(L, P)), anonymous("44"))),
	no_delayed_goals(((ground(B), minimum(I, B, S)), 'CHRkeep_heads_checking'(A :: H : I, G, A :: H : S, T))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("44"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__150'(F, G, A :: H : I, J, K),
	(
	    'CHRhead_not_kept'(T)
	->
	    A :: H : S
	;
	    true
	),
	ne(A, S).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__150'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__150'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__150'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__150' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151'(A - B :: C, D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(B, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__152'(G, D, A - B :: C, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__152'(['CHRlt_2'(lt(A, B), C, D, E)|F], G, B - A :: H, I, J) ?-
	'CHRvar'(C),
	coca(try_double(J, B - A :: H, E, lt(A, B), K - L :: M, lt(L, K), keep_first, ((N = O - P, findall(N, (member(N, M), O @< P), Q)), 'CHRkeep_heads_checking'(K - L :: M, R, K - L :: Q, S)), 'CHRhead_not_kept'(S) -> K - L :: Q ; true, anonymous("60"))),
	no_delayed_goals(((T = U - V, findall(T, (member(T, H), U @< V), W)), 'CHRkeep_heads_checking'(B - A :: H, G, B - A :: W, X))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("60"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__152'(F, G, B - A :: H, I, J),
	(
	    'CHRhead_not_kept'(X)
	->
	    B - A :: W
	;
	    true
	).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__152'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__152'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__152'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__152' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153'(A - B :: C, D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(B, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__154'(G, D, A - B :: C, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__154'(['CHRlt_2'(lt(A, B), C, D, E)|F], G, A - B :: H, I, J) ?-
	'CHRvar'(C),
	coca(try_double(J, A - B :: H, E, lt(A, B), K - L :: M, lt(K, L), keep_first, ((N = O - P, findall(N, (member(N, M), P @< O), Q)), 'CHRkeep_heads_checking'(K - L :: M, R, K - L :: Q, S)), 'CHRhead_not_kept'(S) -> K - L :: Q ; true, anonymous("61"))),
	no_delayed_goals(((T = U - V, findall(T, (member(T, H), V @< U), W)), 'CHRkeep_heads_checking'(A - B :: H, G, A - B :: W, X))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("61"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__154'(F, G, A - B :: H, I, J),
	(
	    'CHRhead_not_kept'(X)
	->
	    A - B :: W
	;
	    true
	).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__154'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__154'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__154'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__154' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155'(A - B :: C, D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(B, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__156'(G, D, A - B :: C, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__156'(['CHRle_2'(le(A, B), C, D, E)|F], G, B - A :: H, I, J) ?-
	'CHRvar'(C),
	coca(try_double(J, B - A :: H, E, le(A, B), K - L :: M, le(L, K), keep_first, ((N = O - P, findall(N, (member(N, M), O @=< P), Q)), 'CHRkeep_heads_checking'(K - L :: M, R, K - L :: Q, S)), 'CHRhead_not_kept'(S) -> K - L :: Q ; true, anonymous("62"))),
	no_delayed_goals(((T = U - V, findall(T, (member(T, H), U @=< V), W)), 'CHRkeep_heads_checking'(B - A :: H, G, B - A :: W, X))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("62"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__156'(F, G, B - A :: H, I, J),
	(
	    'CHRhead_not_kept'(X)
	->
	    B - A :: W
	;
	    true
	).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__156'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__156'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__156'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__156' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157'(A - B :: C, D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(B, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__158'(G, D, A - B :: C, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__158'(['CHRle_2'(le(A, B), C, D, E)|F], G, A - B :: H, I, J) ?-
	'CHRvar'(C),
	coca(try_double(J, A - B :: H, E, le(A, B), K - L :: M, le(K, L), keep_first, ((N = O - P, findall(N, (member(N, M), P @=< O), Q)), 'CHRkeep_heads_checking'(K - L :: M, R, K - L :: Q, S)), 'CHRhead_not_kept'(S) -> K - L :: Q ; true, anonymous("63"))),
	no_delayed_goals(((T = U - V, findall(T, (member(T, H), V @=< U), W)), 'CHRkeep_heads_checking'(A - B :: H, G, A - B :: W, X))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("63"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__158'(F, G, A - B :: H, I, J),
	(
	    'CHRhead_not_kept'(X)
	->
	    A - B :: W
	;
	    true
	).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__158'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__158'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__158'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__158' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159'(A - B :: C, D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(B, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__160'(G, D, A - B :: C, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__160'(['CHRne_2'(ne(A, B), C, D, E)|F], G, B - A :: H, I, J) ?-
	'CHRvar'(C),
	coca(try_double(J, B - A :: H, E, ne(A, B), K - L :: M, ne(L, K), keep_first, ((N = O - P, findall(N, (member(N, M), O \== P), Q)), 'CHRkeep_heads_checking'(K - L :: M, R, K - L :: Q, S)), 'CHRhead_not_kept'(S) -> K - L :: Q ; true, anonymous("64"))),
	no_delayed_goals(((T = U - V, findall(T, (member(T, H), U \== V), W)), 'CHRkeep_heads_checking'(B - A :: H, G, B - A :: W, X))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("64"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__160'(F, G, B - A :: H, I, J),
	(
	    'CHRhead_not_kept'(X)
	->
	    B - A :: W
	;
	    true
	).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__160'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__160'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__160'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__160' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161'(A - B :: C, D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(B, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__162'(G, D, A - B :: C, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__162'(['CHRne_2'(ne(A, B), C, D, E)|F], G, A - B :: H, I, J) ?-
	'CHRvar'(C),
	coca(try_double(J, A - B :: H, E, ne(A, B), K - L :: M, ne(K, L), keep_first, ((N = O - P, findall(N, (member(N, M), P \== O), Q)), 'CHRkeep_heads_checking'(K - L :: M, R, K - L :: Q, S)), 'CHRhead_not_kept'(S) -> K - L :: Q ; true, anonymous("65"))),
	no_delayed_goals(((T = U - V, findall(T, (member(T, H), V \== U), W)), 'CHRkeep_heads_checking'(A - B :: H, G, A - B :: W, X))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("65"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__162'(F, G, A - B :: H, I, J),
	(
	    'CHRhead_not_kept'(X)
	->
	    A - B :: W
	;
	    true
	).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__162'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__162'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__162'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__162' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163'(A :: [B|C], D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(A, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__164'(G, D, A :: [B|C], E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__164'(['CHRalldistinct1_2'(alldistinct1(A, [B]), C, D, E)|F], G, B :: [H|I], J, K) ?-
	'CHRvar'(C),
	coca(try_double(K, B :: [H|I], E, alldistinct1(A, [B]), L :: [M|N], alldistinct1(O, [L]), keep_first, (ground(O), 'CHRkeep_heads_checking'(L :: [M|N], P, L :: Q, R)), (remove_list(O, [M|N], Q), ('CHRhead_not_kept'(R) -> L :: Q ; true)), anonymous("75"))),
	no_delayed_goals((ground(A), 'CHRkeep_heads_checking'(B :: [H|I], G, B :: S, T))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("75"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__164'(F, G, B :: [H|I], J, K),
	remove_list(A, [H|I], S),
	(
	    'CHRhead_not_kept'(T)
	->
	    B :: S
	;
	    true
	).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__164'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__164'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__164'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__164' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165'(A :: [B|C], D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(A, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__166'(G, D, A :: [B|C], E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__166'(['CHR::_2'(A :: [B|C], D, E, F)|G], H, A :: [I|J], K, L) ?-
	'CHRvar'(D),
	'CHRcheck_and_mark_applied'('12'(anonymous("22")), H, D, K, E),
	coca(try_double(L, A :: [I|J], F, A :: [B|C], M :: [N|O], M :: [P|Q], augmentation, (intersection([N|O], [P|Q], R), 'CHRkeep_heads_checking'(M :: [N|O], S, M :: [P|Q], T, M :: R, U)), 'CHRhead_not_kept'(U) -> M :: R ; true, anonymous("22"))),
	no_delayed_goals((intersection([I|J], [B|C], V), 'CHRkeep_heads_checking'(A :: [I|J], H, A :: [B|C], D, A :: V, W))),
	!,
	coca(fired_rule(anonymous("22"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__166'(G, H, A :: [I|J], K, L),
	(
	    'CHRhead_not_kept'(W)
	->
	    A :: V
	;
	    true
	).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__166'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__166'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__166'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__166' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167'(A :: [B|C], D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(A, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__168'(G, D, A :: [B|C], E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__168'(['CHR::_2'(A :: [B|C], D, E, F)|G], H, A :: [I|J], K, L) ?-
	'CHRvar'(D),
	'CHRcheck_and_mark_applied'('21'(anonymous("22")), H, D, K, E),
	coca(try_double(L, A :: [I|J], F, A :: [B|C], M :: [N|O], M :: [P|Q], augmentation, (intersection([P|Q], [N|O], R), 'CHRkeep_heads_checking'(M :: [P|Q], S, M :: [N|O], T, M :: R, U)), 'CHRhead_not_kept'(U) -> M :: R ; true, anonymous("22"))),
	no_delayed_goals((intersection([B|C], [I|J], V), 'CHRkeep_heads_checking'(A :: [B|C], D, A :: [I|J], H, A :: V, W))),
	!,
	coca(fired_rule(anonymous("22"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__168'(G, H, A :: [I|J], K, L),
	(
	    'CHRhead_not_kept'(W)
	->
	    A :: V
	;
	    true
	).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__168'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__168'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__168'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__168' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169'(A :: B : C, D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(A, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__170'(G, D, A :: B : C, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__170'(['CHR::_2'(A :: [B|C], D, E, F)|G], H, A :: I : J, K, L) ?-
	'CHRvar'(D),
	'CHRcheck_and_mark_applied'(anonymous("29"), H, D, K, E),
	coca(try_double(L, A :: I : J, F, A :: [B|C], M :: N : O, M :: [P|Q], augmentation, ((remove_lower(N, [P|Q], R), remove_higher(O, R, S)), 'CHRkeep_heads_checking'(M :: N : O, T, M :: [P|Q], U, M :: S, V)), 'CHRhead_not_kept'(V) -> M :: S ; true, anonymous("29"))),
	no_delayed_goals(((remove_lower(I, [B|C], W), remove_higher(J, W, X)), 'CHRkeep_heads_checking'(A :: I : J, H, A :: [B|C], D, A :: X, Y))),
	!,
	coca(fired_rule(anonymous("29"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__170'(G, H, A :: I : J, K, L),
	(
	    'CHRhead_not_kept'(Y)
	->
	    A :: X
	;
	    true
	).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__170'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__170'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__170'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__170' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171'(A :: [B|C], D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(A, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__172'(G, D, A :: [B|C], E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__172'(['CHR::_2'(A :: B : C, D, E, F)|G], H, A :: [I|J], K, L) ?-
	'CHRvar'(D),
	'CHRcheck_and_mark_applied'(anonymous("29"), H, D, K, E),
	coca(try_double(L, A :: [I|J], F, A :: B : C, M :: [N|O], M :: P : Q, augmentation, ((remove_lower(P, [N|O], R), remove_higher(Q, R, S)), 'CHRkeep_heads_checking'(M :: P : Q, T, M :: [N|O], U, M :: S, V)), 'CHRhead_not_kept'(V) -> M :: S ; true, anonymous("29"))),
	no_delayed_goals(((remove_lower(B, [I|J], W), remove_higher(C, W, X)), 'CHRkeep_heads_checking'(A :: B : C, D, A :: [I|J], H, A :: X, Y))),
	!,
	coca(fired_rule(anonymous("29"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__172'(G, H, A :: [I|J], K, L),
	(
	    'CHRhead_not_kept'(Y)
	->
	    A :: X
	;
	    true
	).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__172'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__172'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__172'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__172' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173'(A :: [B|C], D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(A, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__174'(G, D, A :: [B|C], E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__174'(['CHRle_2'(le(A, B), C, D, E)|F], G, B :: [H|I], J, K) ?-
	'CHRvar'(C),
	'CHRcheck_and_mark_applied'(anonymous("30"), G, C, J, D),
	coca(try_double(K, B :: [H|I], E, le(A, B), L :: [M|N], le(O, L), augmentation, var(O), (last([M|N], P), le(O, P)), anonymous("30"))),
	no_delayed_goals(var(A)),
	!,
	coca(fired_rule(anonymous("30"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__174'(F, G, B :: [H|I], J, K),
	last([H|I], Q),
	le(A, Q).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__174'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__174'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__174'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__174' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175'(A :: [B|C], D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(A, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__176'(G, D, A :: [B|C], E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__176'(['CHRle_2'(le(A, B), C, D, E)|F], G, A :: [H|I], J, K) ?-
	'CHRvar'(C),
	'CHRcheck_and_mark_applied'(anonymous("31"), G, C, J, D),
	coca(try_double(K, A :: [H|I], E, le(A, B), L :: [M|N], le(L, O), augmentation, var(O), le(M, O), anonymous("31"))),
	no_delayed_goals(var(B)),
	!,
	coca(fired_rule(anonymous("31"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__176'(F, G, A :: [H|I], J, K),
	le(H, B).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__176'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__176'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__176'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__176' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177'(A :: [B|C], D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(A, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__178'(G, D, A :: [B|C], E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__178'(['CHRlt_2'(lt(A, B), C, D, E)|F], G, B :: [H|I], J, K) ?-
	'CHRvar'(C),
	'CHRcheck_and_mark_applied'(anonymous("32"), G, C, J, D),
	coca(try_double(K, B :: [H|I], E, lt(A, B), L :: [M|N], lt(O, L), augmentation, var(O), (last([M|N], P), lt(O, P)), anonymous("32"))),
	no_delayed_goals(var(A)),
	!,
	coca(fired_rule(anonymous("32"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__178'(F, G, B :: [H|I], J, K),
	last([H|I], Q),
	lt(A, Q).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__178'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__178'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__178'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__178' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179'(A :: [B|C], D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(A, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__180'(G, D, A :: [B|C], E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__180'(['CHRlt_2'(lt(A, B), C, D, E)|F], G, A :: [H|I], J, K) ?-
	'CHRvar'(C),
	'CHRcheck_and_mark_applied'(anonymous("33"), G, C, J, D),
	coca(try_double(K, A :: [H|I], E, lt(A, B), L :: [M|N], lt(L, O), augmentation, var(O), lt(M, O), anonymous("33"))),
	no_delayed_goals(var(B)),
	!,
	coca(fired_rule(anonymous("33"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__180'(F, G, A :: [H|I], J, K),
	lt(H, B).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__180'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__180'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__180'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__180' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181'(A :: B : C, D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(A, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__182'(G, D, A :: B : C, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__182'(['CHR::_2'(A :: B : C, D, E, F)|G], H, A :: I : J, K, L) ?-
	'CHRvar'(D),
	'CHRcheck_and_mark_applied'('12'(anonymous("38")), H, D, K, E),
	coca(try_double(L, A :: I : J, F, A :: B : C, M :: N : O, M :: P : Q, augmentation, ((maximum(N, P, R), minimum(O, Q, S)), 'CHRkeep_heads_checking'(M :: N : O, T, M :: P : Q, U, M :: R : S, V)), 'CHRhead_not_kept'(V) -> M :: R : S ; true, anonymous("38"))),
	no_delayed_goals(((maximum(I, B, W), minimum(J, C, X)), 'CHRkeep_heads_checking'(A :: I : J, H, A :: B : C, D, A :: W : X, Y))),
	!,
	coca(fired_rule(anonymous("38"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__182'(G, H, A :: I : J, K, L),
	(
	    'CHRhead_not_kept'(Y)
	->
	    A :: W : X
	;
	    true
	).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__182'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__182'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__182'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__182' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183'(A :: B : C, D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(A, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__184'(G, D, A :: B : C, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__184'(['CHR::_2'(A :: B : C, D, E, F)|G], H, A :: I : J, K, L) ?-
	'CHRvar'(D),
	'CHRcheck_and_mark_applied'('21'(anonymous("38")), H, D, K, E),
	coca(try_double(L, A :: I : J, F, A :: B : C, M :: N : O, M :: P : Q, augmentation, ((maximum(P, N, R), minimum(Q, O, S)), 'CHRkeep_heads_checking'(M :: P : Q, T, M :: N : O, U, M :: R : S, V)), 'CHRhead_not_kept'(V) -> M :: R : S ; true, anonymous("38"))),
	no_delayed_goals(((maximum(B, I, W), minimum(C, J, X)), 'CHRkeep_heads_checking'(A :: B : C, D, A :: I : J, H, A :: W : X, Y))),
	!,
	coca(fired_rule(anonymous("38"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__184'(G, H, A :: I : J, K, L),
	(
	    'CHRhead_not_kept'(Y)
	->
	    A :: W : X
	;
	    true
	).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__184'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__184'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__184'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__184' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185'(A :: B : C, D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(A, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__186'(G, D, A :: B : C, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__186'(['CHRle_2'(le(A, B), C, D, E)|F], G, B :: H : I, J, K) ?-
	'CHRvar'(C),
	'CHRcheck_and_mark_applied'(anonymous("45"), G, C, J, D),
	coca(try_double(K, B :: H : I, E, le(A, B), L :: M : N, le(O, L), augmentation, var(O), le(O, N), anonymous("45"))),
	no_delayed_goals(var(A)),
	!,
	coca(fired_rule(anonymous("45"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__186'(F, G, B :: H : I, J, K),
	le(A, I).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__186'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__186'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__186'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__186' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187'(A :: B : C, D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(A, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__188'(G, D, A :: B : C, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__188'(['CHRle_2'(le(A, B), C, D, E)|F], G, A :: H : I, J, K) ?-
	'CHRvar'(C),
	'CHRcheck_and_mark_applied'(anonymous("46"), G, C, J, D),
	coca(try_double(K, A :: H : I, E, le(A, B), L :: M : N, le(L, O), augmentation, var(O), le(M, O), anonymous("46"))),
	no_delayed_goals(var(B)),
	!,
	coca(fired_rule(anonymous("46"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__188'(F, G, A :: H : I, J, K),
	le(H, B).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__188'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__188'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__188'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__188' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189'(A :: B : C, D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(A, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__190'(G, D, A :: B : C, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__190'(['CHRlt_2'(lt(A, B), C, D, E)|F], G, B :: H : I, J, K) ?-
	'CHRvar'(C),
	'CHRcheck_and_mark_applied'(anonymous("47"), G, C, J, D),
	coca(try_double(K, B :: H : I, E, lt(A, B), L :: M : N, lt(O, L), augmentation, var(O), lt(O, N), anonymous("47"))),
	no_delayed_goals(var(A)),
	!,
	coca(fired_rule(anonymous("47"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__190'(F, G, B :: H : I, J, K),
	lt(A, I).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__190'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__190'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__190'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__190' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191'(A :: B : C, D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(A, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__192'(G, D, A :: B : C, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__192'(['CHRlt_2'(lt(A, B), C, D, E)|F], G, A :: H : I, J, K) ?-
	'CHRvar'(C),
	'CHRcheck_and_mark_applied'(anonymous("48"), G, C, J, D),
	coca(try_double(K, A :: H : I, E, lt(A, B), L :: M : N, lt(L, O), augmentation, var(O), lt(M, O), anonymous("48"))),
	no_delayed_goals(var(B)),
	!,
	coca(fired_rule(anonymous("48"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__192'(F, G, A :: H : I, J, K),
	lt(H, B).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__192'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__192'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__192'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__192' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193'(A :: B : C, D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(A, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__194'(G, D, A :: B : C, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__194'(['CHRmult_3'(mult(A, B, C), D, E, F)|G], H, A :: I : J, K, L) ?-
	'CHRvar'(D),
	'CHRcheck_and_mark_applied'(anonymous("51"), H, D, K, E),
	coca(try_double(L, A :: I : J, F, mult(A, B, C), M :: N : O, mult(M, P, Q), augmentation, true, (R is (Q - 1) // O + 1, S is Q // N, P :: R : S), anonymous("51"))),
	!,
	coca(fired_rule(anonymous("51"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__194'(G, H, A :: I : J, K, L),
	T is (C - 1) // J + 1,
	U is C // I,
	B :: T : U.
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__194'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__194'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__194'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__194' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195'(A :: B : C, D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(A, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__196'(G, D, A :: B : C, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__196'(['CHRmult_3'(mult(A, B, C), D, E, F)|G], H, B :: I : J, K, L) ?-
	'CHRvar'(D),
	'CHRcheck_and_mark_applied'(anonymous("52"), H, D, K, E),
	coca(try_double(L, B :: I : J, F, mult(A, B, C), M :: N : O, mult(P, M, Q), augmentation, true, (R is (Q - 1) // O + 1, S is Q // N, P :: R : S), anonymous("52"))),
	!,
	coca(fired_rule(anonymous("52"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__196'(G, H, B :: I : J, K, L),
	T is (C - 1) // J + 1,
	U is C // I,
	A :: T : U.
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__196'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__196'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__196'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__196' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197'(A :: [B|C], D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(A, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__198'(G, D, A :: [B|C], E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__198'(['CHR::_2'(A - B :: C, D, E, F)|G], H, A :: [I|J], K, L) ?-
	'CHRvar'(D),
	'CHRcheck_and_mark_applied'('12'(anonymous("56")), H, D, K, E),
	coca(try_double(L, A :: [I|J], F, A - B :: C, M :: [N|O], M - P :: Q, augmentation, ((intersect(R :: [N|O], R - S :: Q, R - S :: T), length(Q, U), length(T, V), U > V), 'CHRkeep_heads_checking'(M :: [N|O], W, M - P :: Q, X, M - P :: T, Y)), 'CHRhead_not_kept'(Y) -> M - P :: T ; true, anonymous("56"))),
	no_delayed_goals(((intersect(Z :: [I|J], Z - A1 :: C, Z - A1 :: B1), length(C, C1), length(B1, D1), C1 > D1), 'CHRkeep_heads_checking'(A :: [I|J], H, A - B :: C, D, A - B :: B1, E1))),
	!,
	coca(fired_rule(anonymous("56"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__198'(G, H, A :: [I|J], K, L),
	(
	    'CHRhead_not_kept'(E1)
	->
	    A - B :: B1
	;
	    true
	).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__198'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__198'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__198'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__198' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199'(A - B :: C, D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(A, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__200'(G, D, A - B :: C, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__200'(['CHR::_2'(A :: [B|C], D, E, F)|G], H, A - I :: J, K, L) ?-
	'CHRvar'(D),
	'CHRcheck_and_mark_applied'('21'(anonymous("56")), H, D, K, E),
	coca(try_double(L, A - I :: J, F, A :: [B|C], M - N :: O, M :: [P|Q], augmentation, ((intersect(R :: [P|Q], R - S :: O, R - S :: T), length(O, U), length(T, V), U > V), 'CHRkeep_heads_checking'(M :: [P|Q], W, M - N :: O, X, M - N :: T, Y)), 'CHRhead_not_kept'(Y) -> M - N :: T ; true, anonymous("56"))),
	no_delayed_goals(((intersect(Z :: [B|C], Z - A1 :: J, Z - A1 :: B1), length(J, C1), length(B1, D1), C1 > D1), 'CHRkeep_heads_checking'(A :: [B|C], D, A - I :: J, H, A - I :: B1, E1))),
	!,
	coca(fired_rule(anonymous("56"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__200'(G, H, A - I :: J, K, L),
	(
	    'CHRhead_not_kept'(E1)
	->
	    A - I :: B1
	;
	    true
	).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__200'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__200'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__200'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__200' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201'(A :: [B|C], D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(A, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__202'(G, D, A :: [B|C], E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__202'(['CHR::_2'(A - B :: C, D, E, F)|G], H, B :: [I|J], K, L) ?-
	'CHRvar'(D),
	'CHRcheck_and_mark_applied'('12'(anonymous("57")), H, D, K, E),
	coca(try_double(L, B :: [I|J], F, A - B :: C, M :: [N|O], P - M :: Q, augmentation, ((intersect(R :: [N|O], S - R :: Q, S - R :: T), length(Q, U), length(T, V), U > V), 'CHRkeep_heads_checking'(M :: [N|O], W, P - M :: Q, X, P - M :: T, Y)), 'CHRhead_not_kept'(Y) -> P - M :: T ; true, anonymous("57"))),
	no_delayed_goals(((intersect(Z :: [I|J], A1 - Z :: C, A1 - Z :: B1), length(C, C1), length(B1, D1), C1 > D1), 'CHRkeep_heads_checking'(B :: [I|J], H, A - B :: C, D, A - B :: B1, E1))),
	!,
	coca(fired_rule(anonymous("57"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__202'(G, H, B :: [I|J], K, L),
	(
	    'CHRhead_not_kept'(E1)
	->
	    A - B :: B1
	;
	    true
	).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__202'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__202'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__202'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__202' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203'(A - B :: C, D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(B, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__204'(G, D, A - B :: C, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__204'(['CHR::_2'(A :: [B|C], D, E, F)|G], H, I - A :: J, K, L) ?-
	'CHRvar'(D),
	'CHRcheck_and_mark_applied'('21'(anonymous("57")), H, D, K, E),
	coca(try_double(L, I - A :: J, F, A :: [B|C], M - N :: O, N :: [P|Q], augmentation, ((intersect(R :: [P|Q], S - R :: O, S - R :: T), length(O, U), length(T, V), U > V), 'CHRkeep_heads_checking'(N :: [P|Q], W, M - N :: O, X, M - N :: T, Y)), 'CHRhead_not_kept'(Y) -> M - N :: T ; true, anonymous("57"))),
	no_delayed_goals(((intersect(Z :: [B|C], A1 - Z :: J, A1 - Z :: B1), length(J, C1), length(B1, D1), C1 > D1), 'CHRkeep_heads_checking'(A :: [B|C], D, I - A :: J, H, I - A :: B1, E1))),
	!,
	coca(fired_rule(anonymous("57"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__204'(G, H, I - A :: J, K, L),
	(
	    'CHRhead_not_kept'(E1)
	->
	    I - A :: B1
	;
	    true
	).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__204'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__204'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__204'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__204' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205'(A - B :: C, D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(B, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__206'(G, D, A - B :: C, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__206'(['CHR::_2'(A - B :: C, D, E, F)|G], H, B - A :: I, J, K) ?-
	'CHRvar'(D),
	'CHRcheck_and_mark_applied'('12'(anonymous("58")), H, D, J, E),
	coca(try_double(K, B - A :: I, F, A - B :: C, L - M :: N, M - L :: O, augmentation, (intersect(P - Q :: N, Q - P :: O, P - Q :: R), 'CHRkeep_heads_checking'(L - M :: N, S, M - L :: O, T, L - M :: R, U)), 'CHRhead_not_kept'(U) -> L - M :: R ; true, anonymous("58"))),
	no_delayed_goals((intersect(V - W :: I, W - V :: C, V - W :: X), 'CHRkeep_heads_checking'(B - A :: I, H, A - B :: C, D, B - A :: X, Y))),
	!,
	coca(fired_rule(anonymous("58"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__206'(G, H, B - A :: I, J, K),
	(
	    'CHRhead_not_kept'(Y)
	->
	    B - A :: X
	;
	    true
	).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__206'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__206'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__206'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__206' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207'(A - B :: C, D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(B, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__208'(G, D, A - B :: C, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__208'(['CHR::_2'(A - B :: C, D, E, F)|G], H, B - A :: I, J, K) ?-
	'CHRvar'(D),
	'CHRcheck_and_mark_applied'('21'(anonymous("58")), H, D, J, E),
	coca(try_double(K, B - A :: I, F, A - B :: C, L - M :: N, M - L :: O, augmentation, (intersect(P - Q :: O, Q - P :: N, P - Q :: R), 'CHRkeep_heads_checking'(M - L :: O, S, L - M :: N, T, M - L :: R, U)), 'CHRhead_not_kept'(U) -> M - L :: R ; true, anonymous("58"))),
	no_delayed_goals((intersect(V - W :: C, W - V :: I, V - W :: X), 'CHRkeep_heads_checking'(A - B :: C, D, B - A :: I, H, A - B :: X, Y))),
	!,
	coca(fired_rule(anonymous("58"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__208'(G, H, B - A :: I, J, K),
	(
	    'CHRhead_not_kept'(Y)
	->
	    A - B :: X
	;
	    true
	).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__208'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__208'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__208'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__208' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209'(A - B :: C, D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(B, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__210'(G, D, A - B :: C, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__211'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__210'(['CHR::_2'(A - B :: C, D, E, F)|G], H, A - B :: I, J, K) ?-
	'CHRvar'(D),
	'CHRcheck_and_mark_applied'('12'(anonymous("59")), H, D, J, E),
	coca(try_double(K, A - B :: I, F, A - B :: C, L - M :: N, L - M :: O, augmentation, (intersect(P - Q :: N, P - Q :: O, P - Q :: R), 'CHRkeep_heads_checking'(L - M :: N, S, L - M :: O, T, L - M :: R, U)), 'CHRhead_not_kept'(U) -> L - M :: R ; true, anonymous("59"))),
	no_delayed_goals((intersect(V - W :: I, V - W :: C, V - W :: X), 'CHRkeep_heads_checking'(A - B :: I, H, A - B :: C, D, A - B :: X, Y))),
	!,
	coca(fired_rule(anonymous("59"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__210'(G, H, A - B :: I, J, K),
	(
	    'CHRhead_not_kept'(Y)
	->
	    A - B :: X
	;
	    true
	).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__210'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__210'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__210'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__211'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__210' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__211'(A - B :: C, D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(B, G),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__211__212'(G, D, A - B :: C, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__211'(A :: B, C, D, E) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__211__213'(A :: B, C, D, E).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__211' / 4, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__211__212'(['CHR::_2'(A - B :: C, D, E, F)|G], H, A - B :: I, J, K) ?-
	'CHRvar'(D),
	'CHRcheck_and_mark_applied'('21'(anonymous("59")), H, D, J, E),
	coca(try_double(K, A - B :: I, F, A - B :: C, L - M :: N, L - M :: O, augmentation, (intersect(P - Q :: O, P - Q :: N, P - Q :: R), 'CHRkeep_heads_checking'(L - M :: O, S, L - M :: N, T, L - M :: R, U)), 'CHRhead_not_kept'(U) -> L - M :: R ; true, anonymous("59"))),
	no_delayed_goals((intersect(V - W :: C, V - W :: I, V - W :: X), 'CHRkeep_heads_checking'(A - B :: C, D, A - B :: I, H, A - B :: X, Y))),
	!,
	coca(fired_rule(anonymous("59"))),
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__211__212'(G, H, A - B :: I, J, K),
	(
	    'CHRhead_not_kept'(Y)
	->
	    A - B :: X
	;
	    true
	).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__211__212'([A|B], C, D, E, F) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__211__212'(B, C, D, E, F).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__211__212'([], A, B, C, D) :-
	'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__211__213'(B, A, C, D).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__211__212' / 5, leash, notrace).
'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__211__213'(A :: B, C, D, E) :-
	(
	    'CHRvar'(C)
	->
	    'CHRdelay'([C, A :: B], 'CHR::_2'(A :: B, C, D, E))
	;
	    true
	).
:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__211__213' / 4, leash, notrace).
mult(A, B, C) :-
	'CHRgen_num'(D),
	coca(add_one_constraint(D, mult(A, B, C))),
	'CHRmult_3'(mult(A, B, C), E, F, D).



%%% Rules handling for mult / 3

'CHRmult_3'(mult(A, B, C), D, E, F) :-
	(
	    'CHRnonvar'(D)
	;
	    'CHRalready_in'('CHRmult_3'(mult(A, B, C), D, E, F)),
	    coca(already_in)
	),
	!.
'CHRmult_3'(mult(A, B, C), D, E, F) ?-
	coca(try_rule(F, mult(A, B, C), anonymous("49"), mult(G, H, I), replacement, ground(G), G =:= 0 -> I =:= 0 ; (0 =:= I mod G, H is I // G))),
	no_delayed_goals(ground(A)),
	!,
	'CHRkill'(D),
	coca(fired_rule(anonymous("49"))),
	(
	    A =:= 0
	->
	    C =:= 0
	;
	    0 =:= C mod A,
	    B is C // A
	).
'CHRmult_3'(mult(A, B, C), D, E, F) ?-
	coca(try_rule(F, mult(A, B, C), anonymous("50"), mult(G, H, I), replacement, ground(H), H =:= 0 -> I =:= 0 ; (0 =:= I mod H, G is I // H))),
	no_delayed_goals(ground(B)),
	!,
	'CHRkill'(D),
	coca(fired_rule(anonymous("50"))),
	(
	    B =:= 0
	->
	    C =:= 0
	;
	    0 =:= C mod B,
	    A is C // B
	).
'CHRmult_3'(mult(A, B, C), D, E, F) :-
	'CHRmult_3__214'(mult(A, B, C), D, E, F).
:- set_flag('CHRmult_3' / 4, leash, notrace).
:- current_macro('CHRmult_3' / 4, _71060, _71061, _71062) -> true ; define_macro('CHRmult_3' / 4, tr_chr / 2, [write]).
'CHRmult_3__214'(A, B, C, D) :-
	'CHRmult_3__215'(A, B, C, D).
:- set_flag('CHRmult_3__214' / 4, leash, notrace).
'CHRmult_3__215'(mult(A, B, C), D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(A, G),
	'CHRmult_3__215__216'(G, D, mult(A, B, C), E, F).
'CHRmult_3__215'(mult(A, B, C), D, E, F) :-
	'CHRmult_3__215__217'(mult(A, B, C), D, E, F).
:- set_flag('CHRmult_3__215' / 4, leash, notrace).
'CHRmult_3__215__216'(['CHR::_2'(A :: B : C, D, E, F)|G], H, mult(A, I, J), K, L) ?-
	'CHRvar'(D),
	'CHRcheck_and_mark_applied'(anonymous("51"), H, D, K, E),
	coca(try_double(L, mult(A, I, J), F, A :: B : C, mult(M, N, O), M :: P : Q, augmentation, true, (R is (O - 1) // Q + 1, S is O // P, N :: R : S), anonymous("51"))),
	!,
	coca(fired_rule(anonymous("51"))),
	'CHRmult_3__215__216'(G, H, mult(A, I, J), K, L),
	T is (J - 1) // C + 1,
	U is J // B,
	I :: T : U.
'CHRmult_3__215__216'([A|B], C, D, E, F) :-
	'CHRmult_3__215__216'(B, C, D, E, F).
'CHRmult_3__215__216'([], A, B, C, D) :-
	'CHRmult_3__215__217'(B, A, C, D).
:- set_flag('CHRmult_3__215__216' / 5, leash, notrace).
'CHRmult_3__215__217'(mult(A, B, C), D, E, F) ?-
	'CHRvar'(D),
	!,
	'CHRget_delayed_goals'(B, G),
	'CHRmult_3__215__217__218'(G, D, mult(A, B, C), E, F).
'CHRmult_3__215__217'(mult(A, B, C), D, E, F) :-
	'CHRmult_3__215__217__219'(mult(A, B, C), D, E, F).
:- set_flag('CHRmult_3__215__217' / 4, leash, notrace).
'CHRmult_3__215__217__218'(['CHR::_2'(A :: B : C, D, E, F)|G], H, mult(I, A, J), K, L) ?-
	'CHRvar'(D),
	'CHRcheck_and_mark_applied'(anonymous("52"), H, D, K, E),
	coca(try_double(L, mult(I, A, J), F, A :: B : C, mult(M, N, O), N :: P : Q, augmentation, true, (R is (O - 1) // Q + 1, S is O // P, M :: R : S), anonymous("52"))),
	!,
	coca(fired_rule(anonymous("52"))),
	'CHRmult_3__215__217__218'(G, H, mult(I, A, J), K, L),
	T is (J - 1) // C + 1,
	U is J // B,
	I :: T : U.
'CHRmult_3__215__217__218'([A|B], C, D, E, F) :-
	'CHRmult_3__215__217__218'(B, C, D, E, F).
'CHRmult_3__215__217__218'([], A, B, C, D) :-
	'CHRmult_3__215__217__219'(B, A, C, D).
:- set_flag('CHRmult_3__215__217__218' / 5, leash, notrace).
'CHRmult_3__215__217__219'(mult(A, B, C), D, E, F) :-
	(
	    'CHRvar'(D)
	->
	    'CHRdelay'([D, mult(A, B, C)], 'CHRmult_3'(mult(A, B, C), D, E, F))
	;
	    true
	).
:- set_flag('CHRmult_3__215__217__219' / 4, leash, notrace).
atmost(A, B, C, D) :-
	'CHRgen_num'(E),
	coca(add_one_constraint(E, atmost(A, B, C, D))),
	'CHRatmost_4'(atmost(A, B, C, D), F, G, E).



%%% Rules handling for atmost / 4

'CHRatmost_4'(atmost(A, B, C, D), E, F, G) :-
	(
	    'CHRnonvar'(E)
	;
	    'CHRalready_in'('CHRatmost_4'(atmost(A, B, C, D), E, F, G)),
	    coca(already_in)
	),
	!.
'CHRatmost_4'(atmost(A, B, C, D), E, F, G) ?-
	coca(try_rule(G, atmost(A, B, C, D), anonymous("67"), atmost(H, I, J, K), replacement, K =< H, true)),
	no_delayed_goals(D =< A),
	!,
	'CHRkill'(E),
	coca(fired_rule(anonymous("67"))).
'CHRatmost_4'(atmost(0, A, B, C), D, E, F) ?-
	coca(try_rule(F, atmost(0, A, B, C), anonymous("68"), atmost(0, G, H, I), replacement, ground(H) ; ground(G), outof(H, G))),
	no_delayed_goals(ground(B) ; ground(A)),
	!,
	'CHRkill'(D),
	coca(fired_rule(anonymous("68"))),
	outof(B, A).
'CHRatmost_4'(atmost(A, B, C, D), E, F, G) ?-
	coca(try_rule(G, atmost(A, B, C, D), anonymous("69"), atmost(H, I, J, K), replacement, (K > H, ground(J), delete_ground(L, I, M)), ((L == J -> N is H - 1 ; N = H), O is K - 1, atmost(N, M, J, O)))),
	no_delayed_goals((D > A, ground(C), delete_ground(P, B, Q))),
	!,
	'CHRkill'(E),
	coca(fired_rule(anonymous("69"))),
	(
	    P == C
	->
	    R is A - 1
	;
	    R = A
	),
	S is D - 1,
	atmost(R, Q, C, S).
'CHRatmost_4'(atmost(A, B, C, D), E, F, G) :-
	'CHRatmost_4__220'(atmost(A, B, C, D), E, F, G).
:- set_flag('CHRatmost_4' / 4, leash, notrace).
:- current_macro('CHRatmost_4' / 4, _73615, _73616, _73617) -> true ; define_macro('CHRatmost_4' / 4, tr_chr / 2, [write]).
'CHRatmost_4__220'(A, B, C, D) :-
	'CHRatmost_4__221'(A, B, C, D).
:- set_flag('CHRatmost_4__220' / 4, leash, notrace).
'CHRatmost_4__221'(atmost(A, B, C, D), E, F, G) :-
	(
	    'CHRvar'(E)
	->
	    'CHRdelay'([E, atmost(A, B, C, D)], 'CHRatmost_4'(atmost(A, B, C, D), E, F, G))
	;
	    true
	).
:- set_flag('CHRatmost_4__221' / 4, leash, notrace).



%%% Prolog clauses for alldistinct / 1

clause_alldistinct([]).
clause_alldistinct([A|B]) :-
	outof(A, B),
	alldistinct(B).
:- current_macro(clause_alldistinct / 1, _73982, _73983, _73984) -> true ; define_macro(clause_alldistinct / 1, tr_chr / 2, [write]).
alldistinct(A) :-
	'CHRgen_num'(B),
	coca(add_one_constraint(B, alldistinct(A))),
	'CHRalldistinct_1'(alldistinct(A), C, D, B).



%%% Rules handling for alldistinct / 1

'CHRalldistinct_1'(alldistinct(A), B, C, D) :-
	(
	    'CHRnonvar'(B)
	;
	    'CHRalready_in'('CHRalldistinct_1'(alldistinct(A), B, C, D)),
	    coca(already_in)
	),
	!.
'CHRalldistinct_1'(alldistinct([]), A, B, C) ?-
	coca(try_rule(C, alldistinct([]), anonymous("70"), alldistinct([]), replacement, true, true)),
	!,
	'CHRkill'(A),
	coca(fired_rule(anonymous("70"))).
'CHRalldistinct_1'(alldistinct([A]), B, C, D) ?-
	coca(try_rule(D, alldistinct([A]), anonymous("71"), alldistinct([E]), replacement, true, true)),
	!,
	'CHRkill'(B),
	coca(fired_rule(anonymous("71"))).
'CHRalldistinct_1'(alldistinct([A, B]), C, D, E) ?-
	coca(try_rule(E, alldistinct([A, B]), anonymous("72"), alldistinct([F, G]), replacement, true, ne(F, G))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("72"))),
	ne(A, B).
'CHRalldistinct_1'(alldistinct([A|B]), C, D, E) ?-
	coca(try_rule(E, alldistinct([A|B]), anonymous("73"), alldistinct([F|G]), replacement, delete_ground(H, [F|G], I), (outof(H, I), alldistinct(I)))),
	no_delayed_goals(delete_ground(J, [A|B], K)),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("73"))),
	outof(J, K),
	alldistinct(K).
'CHRalldistinct_1'(alldistinct(A), B, C, D) :-
	'CHRalldistinct_1__222'(alldistinct(A), B, C, D).
:- set_flag('CHRalldistinct_1' / 4, leash, notrace).
:- current_macro('CHRalldistinct_1' / 4, _74932, _74933, _74934) -> true ; define_macro('CHRalldistinct_1' / 4, tr_chr / 2, [write]).
'CHRalldistinct_1__222'(A, B, C, D) :-
	'CHRalldistinct_1__223'(A, B, C, D).
:- set_flag('CHRalldistinct_1__222' / 4, leash, notrace).
'CHRalldistinct_1__223'(alldistinct(A), B, C, D) :-
	(
	    'CHRvar'(B)
	->
	    'CHRdelay'([B, alldistinct(A)], 'CHRalldistinct_1'(alldistinct(A), B, C, D))
	;
	    true
	).
:- set_flag('CHRalldistinct_1__223' / 4, leash, notrace).
alldistinct1(A, B) :-
	'CHRgen_num'(C),
	coca(add_one_constraint(C, alldistinct1(A, B))),
	'CHRalldistinct1_2'(alldistinct1(A, B), D, E, C).



%%% Rules handling for alldistinct1 / 2

'CHRalldistinct1_2'(alldistinct1(A, B), C, D, E) :-
	(
	    'CHRnonvar'(C)
	;
	    'CHRalready_in'('CHRalldistinct1_2'(alldistinct1(A, B), C, D, E)),
	    coca(already_in)
	),
	!.
'CHRalldistinct1_2'(alldistinct1(A, []), B, C, D) ?-
	coca(try_rule(D, alldistinct1(A, []), anonymous("74"), alldistinct1(E, []), replacement, true, true)),
	!,
	'CHRkill'(B),
	coca(fired_rule(anonymous("74"))).
'CHRalldistinct1_2'(alldistinct1(A, [B]), C, D, E) ?-
	coca(try_rule(E, alldistinct1(A, [B]), anonymous("76"), alldistinct1(F, [G]), replacement, ground(F) ; ground(G), outof(G, F))),
	no_delayed_goals(ground(A) ; ground(B)),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("76"))),
	outof(B, A).
'CHRalldistinct1_2'(alldistinct1(A, [B|C]), D, E, F) ?-
	coca(try_rule(F, alldistinct1(A, [B|C]), anonymous("77"), alldistinct1(G, [H|I]), replacement, (ground(G), delete_ground(J, [H|I], K)), member(J, G) -> fail ; alldistinct1([J|G], K))),
	no_delayed_goals((ground(A), delete_ground(L, [B|C], M))),
	!,
	'CHRkill'(D),
	coca(fired_rule(anonymous("77"))),
	(
	    member(L, A)
	->
	    fail
	;
	    alldistinct1([L|A], M)
	).
'CHRalldistinct1_2'(alldistinct1(A, [B]), C, D, E) ?-
	'CHRget_delayed_goals'(B, F),
	'CHRalldistinct1_2__225'(F, [B], [G, H, I], J),
	coca(try_double(E, alldistinct1(A, [B]), J, B :: [I|H], alldistinct1(K, [L]), L :: [M|N], keep_second, (ground(K), 'CHRkeep_heads_checking'(L :: [M|N], O, L :: P, Q)), (remove_list(K, [M|N], P), ('CHRhead_not_kept'(Q) -> L :: P ; true)), anonymous("75"))),
	no_delayed_goals((ground(A), 'CHRkeep_heads_checking'(B :: [I|H], G, B :: R, S))),
	!,
	'CHRkill'(C),
	coca(fired_rule(anonymous("75"))),
	remove_list(A, [I|H], R),
	(
	    'CHRhead_not_kept'(S)
	->
	    B :: R
	;
	    true
	).
'CHRalldistinct1_2'(alldistinct1(A, B), C, D, E) :-
	'CHRalldistinct1_2__224'(alldistinct1(A, B), C, D, E).
'CHRalldistinct1_2__225'(['CHR::_2'(A :: [B|C], D, E, F)|G], [A], [H, I, J], K) ?-
	'CHRvar'(D),
	'CHR='([D, C, B], [H, I, J]),
	'CHR='(F, K).
'CHRalldistinct1_2__225'([A|B], C, D, E) :-
	'CHRalldistinct1_2__225'(B, C, D, E).
:- set_flag('CHRalldistinct1_2__225' / 4, leash, notrace).
:- set_flag('CHRalldistinct1_2' / 4, leash, notrace).
:- current_macro('CHRalldistinct1_2' / 4, _76637, _76638, _76639) -> true ; define_macro('CHRalldistinct1_2' / 4, tr_chr / 2, [write]).
'CHRalldistinct1_2__224'(A, B, C, D) :-
	'CHRalldistinct1_2__226'(A, B, C, D).
:- set_flag('CHRalldistinct1_2__224' / 4, leash, notrace).
'CHRalldistinct1_2__226'(alldistinct1(A, B), C, D, E) :-
	(
	    'CHRvar'(C)
	->
	    'CHRdelay'([C, alldistinct1(A, B)], 'CHRalldistinct1_2'(alldistinct1(A, B), C, D, E))
	;
	    true
	).
:- set_flag('CHRalldistinct1_2__226' / 4, leash, notrace).

:- getval(variable_names_flag, Val), set_flag(variable_names, Val).
